Larger changes and weird errors

One of the changes was that the ResourceService didn't work correctly. The new version is fully multi-threaded, and works as supposed. Other changes were in the Caching module. We switched the names of the Timeout and the Lifetime meanings. This resulted in some stupid errors (some code parts weren't changed for that).

We also changed the cleanup way of the caching to use a Timer. This ended up to show some multithreading issues, which are now all solved. One HUGE issue we now have, is when running the unit tests. When running using the Test harness, we get a System.InvalidProgramException. However, due to the architecture of this harness, we can run the tests standalone too. When doing this, the tests run fine, but fail a bit.