Change CSS to Less compilation.

Since bootstrap uses Less and it'd be nice to customize some of
bootstrap's colors later on, might as well switch now. Also,
AngularStrap had some required CSS in Less syntax.
Login now shows as a modal popup.

On auth failure, the user is redirected to the login page. This means
that the user loses all the context of the page they were on.
Http-auth-interceptor suggests that no redirection is performed on the
page in order for it's failed request replay to work properly.
Implementing the login as a modal allows us to ask the user for
authentication without losing the context of where they were before
going to the login page. The modal shows up as an overlay, the user
enters their information, the failed requests are automatically
repeated, and the user should see everything resume seamlessly.

This means that only pages that need to make authenticated requests will
see the login popup. So if we need to make pages that don't need
authentication, all we need to do is make sure no authentication
requried requests are made on that page.

The http-auth-interceptor library was updated to 1.2.1 in this commit.
Fix autofocus for login form.

The switch to modal for the login form broke auto focus on the Username
input. Looks like the HTML5 attribute autofocus doesn't work either.
Both problems seems to be caused by not waiting for the input to render
before setting focus.

Using a $timeout looks like is the standard way for forcing a wait for
render, that seems to fix the auto focus directive.

Since the auto focus directive seems to be only used in the login form,
I've moved it into the login module. If it's used elsewhere, then we'll
need to look at putting it somewhere that makes more sense.