Output source maps

This sets the necessary Recast options so that source maps are outputted. This also links the source maps to the generated file via the `//# sourceMappingURL=` comment that's appended.

*Note:* This currently doesn't compose the generated source map with an existing one. Doing so might require adding some options to the `Container`/`Writer` class(es).
Fix formmating to two space indentation
Update test runner for source maps
adding support for processExportReassignment
Update recast to v0.6.6

This fixes an issue with source maps for modules whose code would be a noop, like a chained import/export:

```
import { value } from './first';
export { value };
```
Merge pull request #137 from ericf/source-maps

Output source maps
Assert that all imports and exports we process are at the top level.

Closes #35.
Merge pull request #142 from caridy/export-reassignment

[fixes #136] adding support for `processExportReassignment`
Document where to find the AMD formatter for the transpiler.

Closes #139.
Use the new ast-types `visit` API instead of the deprecated `traverse`.

This makes `Rewriter` into a subclass of PathVisitor.
Make all the visitor methods on Rewriter private.
Clean up unintended code debris.
Fix the markdown formatting for the Executable h3.
v0.6.0
Reference our own fork of esprima.