fix #510 Callback added to the navigate method of the SiteRootModule controller


Close #510
feat #518 Allow animation type in page engine
feat #518 Improving BasePageProvider to make inheritance simpler

Two methods have been added to class aria.pageEngine.pageProviders.BasePageProvider: processSiteConfig and processPageDefinition. They are called, respectively, before sending the site configuration and page definitions back to the page engine.

This makes it possible to extend the BasePageProvider class by only implementing those two methods.
feat #518 Page engine - document title is set also in hash-based navigation

When "navigation" is set to "hash" in the site configuration, the title of the page (specified in the page definition) is used to change the title of the document.
This was previously done only in history-based navigation
feat #518 Improvement of page engine tests

Tests for the PageEngine class are no longer template tests.
fix #520 Accept empty url in navigation manager cache

The navigation manager of the page engine was rejecting empty strings from the cache in which url-to-pageId map was stored.
This implied that, when navigating back to a page whose url is an empty string, the page engine was unable to infer the pageId and display the correct page.

Close #520
feat #518 Addition of storage settings in the page engine site configuration

Navigation managers used both for hash and for history-based navigations in the page engine rely on local storage browser capabilities to store the associations between urls and pageId's. The saved data is needed in order to identify the right page after hard page reload or when hitting back after an external navigation.
Before this code change, the storage could not be configured. Now it can be deactivated, provided with a specific suffix for local storage key and with an expiration delay for its entries.
feat #518 Addition of beforePageTransition event