new tests for sourcemaps
turning off sm for sweet.js
templates return a clone of their syntax objects. fixes #139

Previously, a template `# {...}` would return the same syntax array
each time it was called. This meant that mutating a syntax object
in `adjustLineContext` with its updated line number sometimes would
mutate multiple tokens. Now templates return a clone.
build