AUI-1173 Reload content if history state doesn't belong to us

If we detect a popstate and the state is `null`, assume it is navigating to an external page or to a page we don't have route, then `window.location.reload()` is invoked in order to reload the content to the current url.
AUI-1173 Navigate method should return true if it's able to navigate to the specified path
AUI-1173 Improve surface demo
AUI-1173 Remove unecessary logical branches and dead methods
AUI-1173 Adding surface tests
AUI-1173 In order to keep the history scrolling fluid, the scroll position needs to be locked until content is fully loaded and surfaces painted

The problem is that behavior is incosistent through browsers. Blink and Webkit popstate event happens before scroll position updates, and on Firefox and IE scroll position updates before popstate event. If we assume the lock position is the same as the current win.page[XY]Offset on popstate, we should capture the next scroll tick, otherwise listens for the next scroll once to capture the history scroll position. For more information see discussion https://bugzilla.mozilla.org/show_bug.cgi?id=679458.
AUI-1173 Disable tests on browsers that don't support HTML5 History and increase some timeouts in order to work-around the asynchronous scrollTo behavior
AUI-1173 Yogi loader regenerate
AUI-1173 Should not navigate when already at destination from link clicks and app.navigate call
AUI-1173 Adding more surface tests
AUI-1286 - Fixing alignment and failing test for ie10/11
AUI-1213 Use Bower to fetch dependencies
AUI-1173 Make surface tests to pass on phantomjs
AUI-1213 Source formatting
AUI-1173 Improve surface test exposing start/endNavigate as function properties in order to re-use the same bind event
AUI-1173 HTMLScreen tests should wait endNavigate event in order to assert values due to io delay
AUI-1173 Source formatting
AUI-1173 Tests should avoid accessing protected surface properties
AUI-1173 Add failNavigate, successNavigate events and change navigate method to return the pending request promise instead of boolean
AUI-1173 Update surface tests