(NC-155) More type annotations in postgres.clj
Don't manage EPEL repo in integration

Beaker knows how to do this when the all_el_extras option is set
Add add_el_extras to default integration config
(NC-155) Schema middleware simplifies exceptions.

The schema middleware removes from the exception data the schema and
value of arguments that did not actually fail validation. Since the
record containing the database credentials does not have a schema, it
will never fail validation, so it should always be removed. Therefore,
we'll never leak the credentials through validation error messages.
Just to be safe, though, the middleware also removes things that look
like they are database credentials (i.e. they have a :db key that
contains a map that itself has :user and :password keys).

Additionally, the schema failure middleware no longer interprets all
schema failures as 400s. We explicitly validate user input in http.clj
and throw a specific kind of error that causes the middleware to produce
a 400. Schema failures on get-* function outputs (presumed to be
a storage protocol implemantation function) produce a
`database-corruption` 500 response, and all others produce an
`application-error` 500 response.

Any other stray errors not caught by the schema or validation error
middlewares are caught by a catchall middleware that produces an
`application-error` 500 response with the message and stack trace of the
caught throwable.

With all these changes the middleware section of HTTP was getting pretty
long and contained a fair amount of utility functions not directly
relevant to the HTTP stuff, so they are broken out into their own file.
(NC-155) Document general error responses.
(maint) Fix 500 when changing variable from false.

Because the check to see if the variable existed before was just
a truthiness check on the value, if the value was false the classifier
would attempt to re-insert the variable, resulting in a database
constraint violation. Fix this by giving a not-found argument to the
get-in call used to find the old value, and only insert a new variable
if the get-in returns the not-found value.

Acceptance and database tests have been updated to test this situation.
(maint) Fix malformed JSON responses.

Have to work around a bug in liberator where it doesn't know how to
serialize maps returned by `handle-malformed` without some help earlier
on in `malformed?`..
Use a more general method of installing the base puppet repositories

Our version of the "install repositories" step treated all redhat variants as
EL, which was incorrect. The new code is adapted from puppet and should work
across versions.
(maint) Remove AOT
Merge pull request #41 from aperiodic/nc-155-credential-leak

(NC-155) Fix credential leak
(maint) Disable JAR repacking when building RPMs

This repacking causes issues with clojure code.
Update java dependency to 7