[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.
I think all of these `it()` blocks need to be combined into one `it()` block. I believe busted v2 randomizes test order. Even if it doesn't, it may do so in the future (it's considered bad practice for tests to depend on each other, they should all be self-contained).