Esprima Rewrite

**This isn't ready for merge**, but I wanted to go ahead and get the PR up for feedback.

This PR:

* Replaces the current build DSL with ES6 template strings
* Removes CoffeeScript support (run on compiled CS output instead!)
* Uses Esprima for parsing, making support for multi-line strings, etc. more robust
* Uses the source replacer from [es6-module-loader](https://github.com/ModuleLoader/es6-module-loader) for rewriting
* Currently fixes:
  * https://github.com/square/es6-module-transpiler/issues/25
  * https://github.com/square/es6-module-transpiler/issues/26
  * https://github.com/square/es6-module-transpiler/issues/27
  * https://github.com/square/es6-module-transpiler/issues/28
  * https://github.com/square/es6-module-transpiler/issues/31
  * https://github.com/square/es6-module-transpiler/issues/32
  * https://github.com/square/es6-module-transpiler/issues/33
  * https://github.com/square/es6-module-transpiler/issues/34
  * https://github.com/square/es6-module-transpiler/issues/24
  * https://github.com/square/es6-module-transpiler/issues/11

It has a handful of regressions that need to be addressed:

* Reexports aren't in (`export {foo, bar} from "foo";`)
* Haven't rewritten globals support yet
* Probably several other edge cases
* I'd like to fix https://github.com/square/es6-module-transpiler/pull/46 before it's merged