configure: Reorder and group feature options
configure: Add an option to enable all optional features/plugins

This has probably no real practical use, but it simplifies testing.
Add Travis CI config and build script
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.
unit-tests: Call functions with TEST_ prefix in ntru test
unit-tests: Implement registered functions without __builtin_apply()

This makes the tests work with clang, which does not implement said
builtin.
unit-tests: Use TEST_FUNCTION macro in ntru tests
travis: Enable clang build

But build the distribution only once.
travis: Determine dependencies for each test dynamically

Since the installation of all packages alone takes several minutes this
should speed up testing a bit.