Started initial work on providing stubs, so that we finally can start to
reduce the amount of code needed for the tests. Some tests are using the
new stubs, but the plan is to continously move more and more code from
the tests over to the stub as they are updated.
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.