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.
Can you actually add the default details into the help message? Otherwise it's pretty non-obvious, especially the fact that 0.09 is the default for vim.

Or maybe it should just be ignored in neovim mode.