feat(shutdown): Add the ability for an app to shutdown

Adds a new `$shutdown` service that can be used to shutdown an app and the `$shutdownProvider` that can be used to register tasks that need to be executed when shutting down an app.

Added tasks for `$rootElement`, `$rootScope` and `$browser` to be able to shutdown an app

Refactor `$interval` so it delegates to `$browser` just like `$timeout` does
`rootElement.dealoc()` is the jqLite specific way to recursively remove the data from an element.