Fixed unit tests compilation.
Changed the unit_test macro by a function.
It now takes a list of libraries to link the test to as optional arguments.
This allows for finer grained unit test linkage management.
renamed unit tests so that the name ends with UnitTests