Issue 650

Fix issue 650 by making benchmarks use the unit_test/test_suite system. 

This fix required : 
 - to move handling of command line argument in test.unit
 - to make new class inheriting unit_test and test_suite to handle benchmarks
 - to make benchmarks be registered into a benchmark suite
 - to factorize macros for generating tests and benchmarks as the only difference were the test types and the test suite to address.