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.
Sure, I'd suggest we go ahead and do that if necessary (but from what I can tell from experimenting with neovim.connect(), it would be redundant with blocking that already exists in the neovim python client). 0.5s per test is a pretty big performance hit to just live with.

That's assuming neovim will be fully initialized with nvimrc sourced by the time conn.command executes (i.e., either `neovim.connect` or `conn.command` will block on vim init). For the vim clientserver implementation that didn't seem to be the case (small startuptime values would cause failures even if we ensured the vim process was running before proceeding).