unit-tests: Change how hashtable for testable functions is created

Because GCC does not adhere to the priorities defined for constructors
when building with --enable-monolithic (not sure if it was just luck
that it worked in non-monolithic mode - anyway, it's not very portable)
function registration would fail because the hashtable would not be
created yet.
unit-tests: Prefix imported testable functions with TEST_

This avoids any clashes with existing functions in the monolithic build.

If we'd define different macros for static and public functions we could
simply use the public ones in the monolithic build.  Which would also
allow us to run the tests with clang as it doesn't implement
__builtin_apply().
unit-tests: Call functions with TEST_ prefix in ntru test