Fix egregious matching bug

This was introduced six months ago in 301fd661831 ("Fix off-by-one error
in memoization indexing"). It basically meant that you could repeat any
matching character and it would be considered to match, as long as your
query string didn't exceed the available space in the haystack.

For example, given a file "foobar", the following query strings would
all match it: "foo", "fooo", "foooo", "fooooo", "fffbar" etc; but
strings such as "ffffbar" and "foooooo" would not (due to being
overlength).

This is the most egregious bug in the matcher ever, so I'm very grateful
to Pavel Sergeev (@dzhioev) for reporting it.

Alas, the fix comes with a price; while the fix brings a marginal
performance increase for most of our test cases, the "pathological"
benchmark gets distinctly slower:

  Before:
                          user     system      total        real
  pathological        0.010000   0.000000   0.010000 (  0.003380)
  command-t           0.410000   0.000000   0.410000 (  0.413851)
  chromium (subset)   1.190000   0.010000   1.200000 (  0.552776)
  chromium (whole)    4.540000   0.010000   4.550000 (  1.557351)

  After:
                          user     system      total        real
  pathological        1.750000   0.000000   1.750000 (  1.751254)
  command-t           0.380000   0.000000   0.380000 (  0.375418)
  chromium (subset)   1.170000   0.010000   1.180000 (  0.498126)
  chromium (whole)    4.470000   0.010000   4.480000 (  1.537441)

This reverses the win reported in 301fd661831, which at the time I
described as "so marked that I am almost suspicious of it". I should
have been more suspicious...

I'll keep digging into this to see if I can improve the speed of the
pathological case, but for now I just want to get this fix out as
correctness is more important than speed.

Fixes:

  https://github.com/wincent/Command-T/issues/82

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Merge branch 'next'

* next:
  Guard against overflow when peeking at PDU size
  Doc: update HISTORY section
  Establish new benchmark baseline
  Fix memoization
  Fix off-by-one error in last_idx management
  Fix egregious matching bug
  Add <ESC> key xterm info to FAQ
  Add casts to silence Clang warnings
  Fix compiler warnings on CentOS
  Update docs with info about autoload optimization
  Use vim's autoload feature
  Never overwrite other mappings
  Only move MRU results if appropriate
  Update docs with info about :CommandTMRU
  Teach MRU module to ignore unlisted buffers
  Work around missing matches_for method
  Split MRU functionality into separate command
  Drop an unnecessary `#compact` call
  Rename Mru -> MRU
  Make MruBufferScanner inherit from BufferScanner
  Make the MRU buffer stack an actual stack
  Make MruBufferFinder inherit from BufferFinder
  Improve diagnostic info in CommandT::Stub error message
  Add missing method to CommandT::Stub
  Fix some cosmetic typos
  Get rid of $scanner global variable
  doc: Add Ton van den Heuvel to AUTHORS section
  Add missing copyright headers
  Add support for MRU buffer ordering

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Update docs for 1.9 release

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Add license to gemspec

This silences the warning during builds:

  WARNING:  licenses is empty

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Apply minor grammar fix to docs

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Include autoload file in vimball archive

This was missing from the 1.9 release.

Fixes:

  https://wincent.com/issues/2175

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Update docs for 1.9.1 release

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Update docs with info about OS X Yosemite

Via:

  https://github.com/wincent/Command-T/issues/84
Update installation docs

De-emphasize Vimball as an installation method (I consider it a broken
format, not just because of the way it gloms all plug-ins into a single
shared namespace, but because it frequently fails to extract correctly,
leading to support tickets). I'd like to eventually even stop
distributing the Vimball at all, but the first gentle step is not
documenting Vimball's existence.

Add info about some of the more popular plug-in managers. Pathogen is
still king of simplicity and robustness, but the allure of shiny,
overengineered things and the widespread misunderstanding of Git
submodules has caused the marketplace to fragment. Oh well.