Make resolving of functions pluggable

In preparation for putting in dotted_name_resolver
Switch default resolver from PkgResourcesResolver to DottedNameResolver
Allow unscoped "git" and "hg"

Allow functions in setuptools_extversion to be used without providing
full dotted path -- e.g.:

    extversion='git'

or:

    extversion='hg'
Change way resolver kwarg is passed

to fix case of passing dict with 'function' and 'args'