feat(ngRoute): cancel $routeChangeStart via $event.preventDefault()

This change allows ngRoute route changes to be cancelled using
$event.preventDefault.

This enables route changes to be aborted at the discretion of the application.

Route changes may not be cancelled if forceReload is set to true.

Closes #5581