Fix applySourceMap third parameter with source content

Set source content with relation to aSourceMapPath in
SourceMapGenerator#applySourceMap. Before, in the related test,
`../coffee/foo.coffee`'s source content would be placed at
`../coffee/foo.coffee` instead of where it should be at
`coffee/foo.coffee` derived maps. Not being stored at that location it
was left out of the generated map.
Make SourceNodes work with other newlines than \n

- Makes `.toStringWithSourceMap()` work correctly with other newlines.

- Makes `.fromStringWithSourceMap()` preserve the newlines of the input.
  This is useful when using SourceNodes to concatenate files with source
  map support, without modifying the files.
Merge pull request #100 from mzgoddard/fix-third-param-source-content

Fix applySourceMap's aSourceMapPath parameter source content support
Improve code readability
Drop support for `\r` newlines
Merge pull request #103 from lydell/source-node-newlines

Make SourceNodes work with other newlines than \n
Bump version to 0.1.34
Fix heading levels
Merge pull request #114 from azu/patch-1

Fix heading levels in README documentation.
Don’t add `file` property if no file was given

Previously, if you didn’t pass the `file` option to
`new SourceMapGenerator()` or
`SourceNode.prototype.toStringWithSourceMap()`, `"file": null` would be
present in the source map. Now, the file property isn’t added at all
instead, which is more intuitive.
Add test for consecutive newlines in string node.

SourceNode should skip over all newlines in the node, but it
currently skips every other consecutive newline. This is due to RegExp
behaviour with the 'g' flag - the RegExp object will track its
position in successive calls to `test` (or `exec`) for the same string.

See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec#Example.3A_Finding_successive_matches
Remove `g` option from REGEX_NEWLINE.

This ensures that successive calls to `test` for newline characters
will always return `true`. Using `g` will cause every other `test`
call to return `false` and is not required for the other usage.
Merge pull request #116 from jgoz/consecutive-newline-bug

Fix consecutive newline bug in `SourceNode`
Merge pull request #104 from lydell/no-file-no-null

Don’t add `file` property to the generated source map if no file was given.
Fix #110: Strict optional strings checks

String arguments and properties that are optional are now checked if
they are provided by using `!= null`, instead of just checking the
truthiness. This allows the empty string, and consistently treats all
values of the same type the same way: For example, `true` and `1` used
to be treated as strings, while `false` and `0` meant that the string
was omitted. Now only `null` and `undefined` means that the string was
omitted.
Merge pull request #115 from lydell/strict-optional-strings-checks

Fix #110: Strict optional strings checks
Add a third parameter to `SourceNode.fromStringWithSourceMap`

An important use case for `SourceNode`s, and especially for
`SourceNode.fromStringWithSourceMap`, is to concatenate files with
source map support. This works well as long as all the input source maps
and the concatenated file¿s source map are next to each other. That’s
because any relative source paths in any input source map have to be
rewritten to be relative to the concatenated file’s source map. This
commit adds a third parameter to `SourceNode.fromStringWithSourceMap`
allowing you to do this.
Merge branch 'lydell-concat-relative-paths'