Properly handle notFound URL

We handled notFound URL using an old hack, which no longer works. The
proper way now is to handle a "catch all" route.
Bubble the error to top if we don't handle it in Ember.Route

A proper thing to do when an error is not handled is to bubble it up
rather than using throw (which we were using before this commit).
Use index/loading template instead of IndexLoadingRoute

By default Ember.js will use either IndexLoadingRoute or index/loading
template. Before this commit we were specyfing IndexLoadingRoute, which
was renderring index_loading template. This is not needed as long as we
use index/loading template - the effect is the same, but we use a
default.
Fix handling not existing repos

Also ensure that we don't break it again with an integration test.