Tests various aspects of the views service

Also moves more logic into the ElggViewService class.

I trust this kind of thing makes future refactoring easier...