Split the unit tests up and started to reorganize them
The core tests should not rely on the default funtionality directory anymore
Major rewrite. First optimization implementation.
Altered the optimization engine so that it handles more cases.
Restructure and clean up
Made it possible to disable the optimization and added some benchmark tests
Added a notice about the alpha nature of this 0.2.0 branch. We need to rewrite parts of the documentation and do some further testing before this will become the master version.