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.
Ups it seems command_output has not been merged into Neovim/master yet :D

The function for expressions would be conn.eval() the problem with eval() is that it does not return a string but rather native python types - e.g. eval("[1,2,'three']") would return a python list.

This seems ok (for now) since Ask() is only used to expressions that evaluate as strings.