Complete identifiers following non-whitespace

Now, identifiers following non-whitespace, non-identifier characters (such as
operators or parentheses) will also be completed successfully.
Only use metavariables as completions for :p and :prove
Stop completion of names that are prefixes of others

Previously, when completing "plus", it was accepted. Now, it tries completing
with "plusAssociative", "plusCommutative", etc, and the user has to press
space.
Merge pull request #228 from david-christiansen/completion

Completion usability improvements