Refactor auth code

* don't use __container__
* register it as a factory on container and inject into routes and
  controller
* avoid afterSignIn errors by checking on hooksTarget, ApplicationRoute
  should register itself as a hooksTarget
* keep user info on auth
Remove afterSignIn hook from actions in AuthRoute

This is a leftover from previous version of auth code. The purpose of
this code was to redirect to index if we're on auth route and user is
already signed in. This may happen only when we use autoSignIn which is
synchronuous, so it should be fine to just check if user is signed in
and redirect to index there.
Remove auth logic from redirect in Travis.Route

Auth check in redirect duplicates beforeModel logic
Bring back afterSignIn and afterSignIn as actions sent to controller

It seems that there is more use cases to cover with this behaviour, for
example when someone enters /auth directly and logs in from there.
No need to keep "top" as an outlet.

We render the same thing for "top" part of the site for every layout,
there is no need to keep it as an outlet, we can just render it
directly.
Don't render "flash" as an outlet.

Just as with "top", we always render "flash" into flash outlet, so we
can render it straight away.
No need to name outlet 'main'
Simplify logic for displaying 'no builds for repository' error

We use promise when fetching a repository which means that any nested
routes already have all the repository data loaded. Thanks to that there
is no need to setup observers, we can check what to render right away in
RepoIndexRoute
Don't specify outlet name for 'pane' outlets

Specyfing "pane" as an outlet name here was a legacy thing. In current
form it doesn't give us anything and results in more code, as we need to
specify outlet everytime we want to render something there.
No need to add renderFirstSync method
Don't specify index routes

They're generated by default
Make profiles code a bit simpler

We don't need to nest "profile" tab in account view
Refactor handling accounts

This commit changes a way we load accounts for profile view:

* instead of using several views with profile controllers, always use
  one view to render hooks. This is achieved by redirecting to
  individual account page from main profile page (for example when going
  into /profile as a user drogus, the effective address will be
  /profile/drogus)
* instead of using observers to wait for accounts to load I just use
  promise in ProfileRoute#model which effectively ensures that accounts
  are loaded at the time we want to select an individual account
* profile controller is split into profile and account controller
Wrap commit message body on white space.

This prevents long commit messages from bleeding into the data on
the right side of the header.

Fixes travis-ci/travis-ci#2380
Merge pull request #282 from travis-ci/ps-auth-refactoring

Refactor auth code
Merge pull request #284 from travis-ci/ps-router-refactoring

Router refactoring