Build ES6 modules

So @tjmehta I've had a go at #38 . Before I even read your comment on the issue :)

I've gone for the 100% ES6-safe variant – without functions depending on CJS modules, functions depending on these functions, etc. They're simply excluded from the build.

To keep the workload sensible I've presumed that the imports and exports keep being formatted the same way as they are now. A file formatted differently doesn't get included in the build.

I don't know how to exclude the gulpfile from the code coverage checks, so chances are test coverage falls from 100%.