Add modules and tabs logic to dashboard view

Now deals correctly with single module and tab dashboards requested by spotlight
I reckon we could do this now without too much pain? Is that a really annoying thing to say?

The tests will provide cover throughout any refactoring. Then we could move the tests to cover the spotlightify module/method/presenter/whatever but I don't huge problems leaving them at the view for now.