Add basic Persona support

This allows users to sign in to Hydra using Mozilla Persona accounts.
When a user first sign in, a row in the Users table for the given
Persona identity (an email address) is created automatically.

To do: figure out how to deal with legacy accounts.
Set the character set
Don't redirect to /login if authentication is required

We can just serve the login page in place.
Use the alert class for flash messages
Show sign in as success
Prevent Persona users from setting a password
Show a user's roles in the preferences page
Some escaping
Fix legacy login
Fix audience URL
Link to both the Persona and legacy sign in
Kill builds that produce more than 64 MiB of log output
hydra-build: Don't send a giant query to the database

We had Postgres barfing with this error:

  DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::Pg::st execute failed: ERROR: stack depth limit exceeded

because the ‘drvpath => [ @dependentDrvs ]’ in failDependents can
cause a query of unbounded size.  (In this specific case there was a
failure of Bison, which has > 10000 dependent derivations.)  So now we
just get all scheduled builds from the DB.
Merge pull request #81 from mornfall/master

DARCS support
Revive release button on eval page
Don't trigger evaluation of disabled jobsets
Allow setting keepnr to 0
hydra-update-gc-roots: Keep more evals

We now keep *all* unfinished evaluations of a jobset, in addition to
the <keepnr> most recent finished evaluations.

The main motivation is to ensure that mirror-{nixos,nixpkgs} work
properly: if building an evaluation takes too long, some of its builds
may already have been garbage-collected by the time the others finish.
hydra-update-gc-roots: Don't keep the most recent successful view result

Views are deprecated.
Fix an uninitialized value warning