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.
It could still fail without the delay. If you try to connect to the Neovim pipe before the Neovim process actually created it.

The alternative to a delay here would be to check if args.servername was already created on disk.