Merge pull request #196 from alphagov/dashboard-spotlightify

Dashboard spotlightify
Initial test for dashboard api view

also move factories into common location
Initial implementation of public dashboards api

includes cheeky over implementation of the find by slug logic

needs lots of tests for this bit

Also, move common views stuff out of datasets and into common
Test for recursive dashboard fetching
Fixes for recursively_fetch_dashboard - tests now pass
Stop recursing on slug after 3 attempts

This is to prevent aribitrary execution of db queries by constructing a
url with a large directory structure. It is also the current behaviour
of spotlight.
Test for 404 response when no dashboard found

also fix pep8 issues
Fix to return 404 with error when no dashboard found
Move view utils to libs folder

To share the utils across the dashboards and datasets apps because both
use them.