Add vim_input wrapper and use it to pass keys on tests

This is done to get out of any "press enter to continue" screens, because Nvim
no longer handles deferred events(such as calls to vim_command or vim_eval) when
in that state.
Improve python API: Add façade function to create python api sessions.

Add a utility function to make creating client session more comfortable.
For example, instead of:
```
from neovim import socket_session, Nvim
session = tcp_session(address=<address>, port=<port>)
nvim = Nvim.from_session(session)
```
you can do now:
```
from neovim import attach
nvim = attach('tcp', address=<address>, port=<port>)
```
Improve python API: Rename spawn --> child.
Improve python API: Fix PEP8 compliance.

- Two blank lines before function.
- Use def instead of assigning lambda to local variable.
Improve python API: Adapt tests.
Improve python API: Adapt README.