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`?


Can we also add a test for indexed maps with sub-maps that have different source roots and verify that the indexed map's sources are all as expected?