Add a $VROOMDIR environment variable containing the path to $VROOMFILE.

Using examples/basics.vroom as an example, $VROOMDIR might return
'examples', 'path/to/examples', or '.' (not the empty string), depending
on where vroom was run from.

Fixes #17.
Add a LICENSE file containing the Apache 2.0 license text.
Merge pull request #24 from malcolmr/license

Add a LICENSE file containing the Apache 2.0 license text.
Merge pull request #23 from malcolmr/vroomdir

Add a $VROOMDIR environment variable containing the path to $VROOMFILE.
Fix DISPLAY detection when LANG is set to a non-English locale.

Force the vim client process to execute with LC_ALL and LANGUAGE set to
en_US.UTF-8, which ensures that the "No display" message returned by the
client can be recognised directly.

References #25.
Match E449 ("Invalid expression received") by code, not message text.

This allows us to recognise this error even when LANG is set to
something other that en_US or en_GB.

References #25.
Merge pull request #26 from malcolmr/fix-non-en-display-check

Fix DISPLAY detection when LANG is set to a non-English locale.
Merge pull request #27 from malcolmr/match-e449-by-code

Match E449 ("Invalid expression received") by code, not message text.
Initial support for Neovim

- Uses the Neovim python 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
Change default delay for Neovim

- The default delay for Neovim is now 0, but the -d parameter is
  still respected if present
Log Neovim command on Communicate()
Neovim: Replace command_output() with eval()
Use ArgumentDefaultsHelpFormatter in ArgumentParser
Add default delay info to usage help
Replace VroomEnd with qa!
Only import neovim module if necessary

- Delay importing of the neovim module until we check if --neovim
  as passed
Remove startup time for Neovim

- For Neovim we don't respect startuptime, instead we wait until the
  Neovim communication socket is created.
- To avoid a lock we stop waiting after a maximum time of 5s.
Update --startuptime usage msg for Neovim
Change default --shell-delay for Neovim to 0
Remove Neovim socket on Kill