first round of cleanup based on pflynn's review feedback. checkpointing
here because I'm going to work on some changes that I might want to
roll back (merging lastMatchedIndex and lastRangeCharacter)
merge lastRangeCharacter and lastMatchedIndex into lastMatchIndex
a bunch of changes per pflynn's code review, including some
variable/function renames for clarity.

Note that there is currently a failing test. I wanted to put scoring
changes into a separate commit, and that should fix the failing test.
adds a penalty for matches that don't start on a special character,
which fixes the failing test for samples/index