Add support for moduleName callbacks and change default moduleName

Hello,

This PR is essentially a port of https://github.com/joefiorini/grunt-es6-module-transpiler/commit/d035f8a8bb2e2d0ee6b5d161d02de4c1e5b95bfb

It changes the default `moduleName` to be [file.relative](https://github.com/wearefractal/vinyl#relative) (modulo the file suffix.) Additionally, it adds support for the `moduleName` config option to be a callback that takes the default module name and vinyl file object as arguments.