Slim test system refactoring

The test system code was hard to grok, due to the many string manipulations and List<Object>'s passed around. The goal of the refactoring is to loosen the coupling between the SLIM test system. 

* "Domain"/"protocol" classes now for the Slim protocol
* Slim protocol is shared between client and server
* Lot's of cleanup in the SlimTestSystem classes
* Slim (java) client has been cleaned up to allow extension points
* Exceptions in all Slim table rows are now reported
* HTML generation completely moved out of the SlimTestSystem
* Scenario, Setup and Teardown pages are cached by HtmlSlimTestSystem
* Removal of dead code
* Big cleanup on Slim Server side
* Extra: fix unit test failure issue on Windows (#199)

There is still an issue with including pages in scenario library's.