Feature.index

This PR implements `Parsimmon.index` and `::mark()`, which allow the parser implementer access to index information during the parse.  This is useful if you want syntax nodes to reference source locations.