Initial support for Neovim

- Some work to get issue #29 going
- Uses the Neovim [python](https://github.com/neovim/python-client) client to communicate
- New option --neovim to use nvim instead of vim
- New vim.Communicator derived class for Neovim
- The Neovim API calls currently do not match the Vim server
  functions - had to wrap calls in *call* and escape some of the
  commands

It currently seems to work with all of the example files, but since the remote vim calls don't match up with the current Neovim API I ended up wrapping commands in ":call" which I assume is not the best idea.

Also I left the delay on, but -d 0 appears to work.
This should evaluate an expression, e.g. "1+1" or "getline('.')", but the call to command_output and the `self.Ask('call VroomDie(…)')` below look like they're dealing with commands (actually, `command_output` doesn't seem to exist for me and I can't find any evidence of it in the code).