Changes in the testing framework and in the specializations

- Unit tests are no longer defined by their .expect files. Inside test.py there is a big dictionary
  of all the tests with various information about each test. The biggest advantage of this approach
  is that now one test can have multiple number of sources in it and also that .expect files are not
  needed for any test that does not want to check its output.

- Extra objects that are not part of the library but are requested for a template/specialization
  are no longer compiled. The corresponding source-header is generated for the requested specialization
  and it is the responsibility of the user to copy it to his project. One of the tests needs fixing
  because of this