tests: Conditional compilation of tests (including boost-based unit tests)

To compile tests, code needs to be configured with --with-tests option,
otherwise all tests are disabled.

Tests that are based on Boost's unit test framework are enabled only if
the framework is detected during the configure time.

Change-Id: Ia1768e24b088e4f19d2a8799c6d5baeabb2f44c5