Allow MCJIT to work: change VFT init linkage

LLVM's MCJIT interpreter can't call global constructors which have
private linkage, so the VFT initialisation function (which used to be
private) was causing MCJIT to crash before any of the global
constructors could be run.
The VFT initialisation function now has linker_private linkage, which
seems to work around the problem.
Update README: document tests, fix LLVM version