Produce a source map when options.sourceMapName is defined.

Note: for the source map to be non-empty, the syntax tree must have been
created by `recast.parse(source, { sourceFileName: "something.js" })`.

Example usage:

    var result = recast.print(transform(recast.parse(source, {
        sourceFileName: "source.js"
    })), {
        sourceMapName: "map.json"
    });

    console.log(result.code); // Resulting string of code.
    console.log(result.map); // JSON source map.

Closes #43 (yay!).