Tweak Page classes to allow for url_for(page)

* always use pages in the path - also for subclasses
* use the page name in the params
* find pages by their id, the id attached to their name or their name
restful routes for pages in context

these also work with url_for(@group, @page) now.
initial attempt at splitting the dispatch controller up
remove action segment from page_path
fixed unit tests - no more find(:all) or find(:first)
fixup - fix flaws in new controllers
page_path(page, action: :edit) -> [:edit, page.owner, page])
fix corner cases and old finders

integration and unit tests pass now.
fixing a few page_urls here and there
AssetPageHistoryController -> AssetPageVersionsController

include preview creation as AssetPageVersionsController#create

all unit tests, integration tests, page unit tests and page integration tests pass.