Add support for moduleName option to be a callback.

The callback is provided the default module name and should
return the desired module name. This is particularly useful
for adding or stripping module prefixes.

This commit also improves the default module naming by
stripping the cwd if it was specified in the files option.

@lukemelia/@kselden
Merge branch 'module-name-callback'