Remove vim incompatibilities for :buffer command
:bdelete command works again

The Buffer command's :b abbreviation was parsing the :bdelete command and then
not doing anything due to having been given no argument.
Better fix for :b :bdelete contention

Rather than rely on `BufferDelete.parse` appearing before `Buffer.parse`,
let's fix `Buffer.parse` to not parse `bdelete`.

The change is to allow `b` to be immediately followed by digits (representing
a buffer reference), but other characters require a space before them.  Also,
make sure to allow no characters at all to follow the command name, which is
done by parsing `P.eof` and returning the empty string representing the
current buffer.
Improve ex command parsing failure message

If an unknown ex command is entered, include the command in the complaint.
This is not only compatible with Vim, it is very helpful for discovering
errors when writing ex command parsers.
Fix some compiler warnings
Merge pull request #496 from benarmston/vim2-buffer-ex-command-improvements

Vim2 buffer ex command improvements