comment recusive equivalents to iterative combinators #comments
change iteration variable name in Parser::times

from `i` to more descriptive `times`

prep commit, to avoid collision with the variable meaning "character
index in stream"
instead of slicing stream, pass around index

prep for better error messages
parseError prepends 'expected ' for you

rather than every call to onFailure() having to prepend that

also prep for smarter error messages, because you're subject to a
stricter contract on the message you pass to onFailure
error msg now has char index and full stream

note the less than optimally helpful error messages in the 'use
Parsimmon.succeed or Parsimmon.fail to branch conditionally' test
Merge pull request #2 from laughinghan/index-instead-of-slice

instead of slicing stream, pass around index