WL-2823 Make sure we link to the correct site.

Site.getURL() returns the primary URL of the site, we want the one related to the current location of the user in the hierarchy. This fixes the bug of users always being taken to a site's primary location in the hierarchy.
Merge pull request #8 from ox-it/WL-2823

WL-2823 Make sure we link to the correct site.
WL-2791 Refactor the cache supporting functions.

Here we're moving the cache supporting functions into their own classes so our service isn't implementing them any more. The classes are static so they are truly standalone.
A quick test of our derived path cache invalidation/population.
Add tests for the Cache observer.
If the node has gone from the DB don't cause a problem.
Remove redundant test.
Clarify that static makes it easy.
Merge branch 'master' into WL-2791

Conflicts:
	hierarchy-portal/handler/src/java/org/sakaiproject/portal/charon/handlers/HierarchyHandler.java