[RFC] Replace vroom by lua/busted for functional tests

The 'lupa' python package provides a simple way to seamless integrate lua and python code.

This commit replaces vroom by a python script that exposes the 'neovim' package to a lua state that invokes busted to run functional tests. This is a temporary solution that will enable writing functional tests using lua/bused while a lua client library is not available.

The reason for dropping vroom is flexibility: Lua/busted has a nice DSL-style syntax while also providing the customization power of a full programming language. Another reason is to use a single framework for unit/functional tests.

Note that I have split a single vroom test into multiple busted tests. Splitting tests like this let us assert individual steps and simplifies finding where is the error.
Can `feed()` take a multi-line string literal? For example, using the original `test2.in` source:

```
    feed([[
:set isf=@,48-57,/,.,-,_,+,,,$,:,~,\
/^third
/name
:call append(2, expand("<cfile>"))
/^fourth
/URL
:call append(3, expand("<cfile>"))
5GdG
```