[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 `execute()` also take a string literal?

```
    execute([[
:set isf=@,48-57,/,.,-,_,+,,,$,:,~,\
:/^third<cr>/name<cr>:call append(2, expand("<cfile>"))
:/^fourth<cr>/URL<cr>:call append(3, expand("<cfile>"))
```