Add support in SourceMapConsumer for indexed source maps

Fixes #16 (or at least the consumption part of it)

This is a WIP, but consumption of indexed source maps seems to be working. Let me know if you see anything going complete the wrong way, or if there are additional things that need implementing that I'm missing.

I'm not totally sure where the documentation for each of the functions should live - should I create stub functions on `SourceMapConsumer.prototype` that just throw errors saying they must be overridden, and place the documentation there? Or is it okay to duplicate the documentation between `BasicSourceMapConsumer` and `IndexedSourceMapConsumer`?


I'm afraid I think you have this backwards.

`aArgs` contains an original source position in some original source file.
When asking a section to perform a mapping from the original source position, I'm not going to change the offsets for where something is in the original source, because original positions have nothing to do with sourcemaps at all - if I'm trying to find where line 1, col 1 in the original source winds up in the generated source, offsetting it doesn't make any sense.

> The idea is that an indexed source map is just a concatenation of existing source maps, and you shouldn't have to offset every source map in the indexed map when generating it.

Yes, this is absolutely true. This is what the block of code does below. The section map gives us a mapping from original source map to an *offset* into the section. We then take that offset into the section and turn it into an offset from the start of the generated file.

As far as I can tell, this is correct otherwise the tests wouldn't be passing for this.