Generating functions for weighted Hurwitz numbers: enumeration of branched coverings