[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.
To make the tests look nicer, the `insert` helper function strips common indentation from the input while `expect`  strips from the expected output.

If we ever need to test input/check output without this stripping indents, it can be done with another helper function in test/functional/helpers.lua