Cl2000

Hi Bas,

I don't suppose you want to pull this "as is". Let's use it as a base for discussion. Remarks:
(1) All those files from the root directory shouldn't be in here. They got in during merging.. I don't know how to get rid of them now they are in.
(2) JUnitOutputTest.cpp. I forced my version. We can't use yours. Look at it this way. Don't mock C functions with C ++ methods. cl2000 is fussy about C vs C++ linkage. It just don't work. You could re-introduce any unrelated changes though.
(3) Have a look through the individual commits and their comments.
(4) The main() version with hardcoded cmd line params shouldn't be merged. It should probably be renamed and offered as an alternative for people testing on embedded targets where there is no commandline. This isn't useful for anyone else.