improve cimport function

There's a need to import a lot of headers once and never again, because the
luajit ffi doesn't like redefinitions of f.ex.: enums and various other
things. So if one test tries to import 'expr.h' and another 'genlua.h' which
also #include's "expr.h", then there will be trouble if 'expr.h' declares
enums, which it does.

Because of this, I've changed cimport() without arguments to just import a
list of headers and do nothing on a second call. That way each test can just
call cimport and get most of what they want. If they're missing something,
the relevant headers needs to be added to either "generic_headers" or
"project_headers".

NOTE: this is still not final, as the compiler is hardcoded to an unlikely
value on OSX standard right now, almost noone will have it.
test: move helpers.lua one level up

It's supposed to be usable for integration tests later too
test/expr-parser: use global cimport
declare 'genlua', the vim -> lua generator

There's nothing to see yet.