[WIP] fix unittest issues with busted 2.x

Followup of https://github.com/neovim/neovim/pull/1098#issuecomment-54712118

This is on top of @fwalch's commit because these scoping issues don't occur with busted 1.x.

Regardless of what's going on with busted, it's probably a good thing to avoid global scope. 

ping @aktau because this touches the lua C preprocessor and I'm hoping there's a chance you might have a clue why `popen()` is being weird.

---

For reference, this PR should fix the issues noticed by ZyX here: https://github.com/neovim/neovim/issues/903#issuecomment-47494001
Ideally, that would be possible, not sure if nvim is ready for that though.

That said, I don't think that issue would impact us negatively. We'd be able to see which tests exactly require initialization. Splitting up the tests in different processes has only advantages here (except for a possibly serious speed disadvantage).