(SERVER-39) Allow a certificate to be passed into a request via X header

This commit adds the ability for a certificate to be supplied in a web
request as the payload of a custom HTTP header, X-Client-Cert.  The
header will only be parsed for a value if the `allow-header-cert-info`
master setting is set to true.  When the certificate is retrieved, it
will be supplied as the client certificate to the Ruby request handler
stack, as a direct replacement for a certificate object that would be
typically be provided over SSL.
Are you suggesting that I take the value blocks for `decoded-cert` and `cert-objs` and separate them out into new functions or that I put the body of the `true` branch for `if (empty? cert-objs)` in a separate branch?  If the latter, I suppose I could do that but the `(throw-bad-request!...)` form doesn't seem to me to be too hard to confuse as running into the `else` block:

```clj
(if (empty? cert-objs)
  (throw-bad-request!
    (str "No certs found in PEM read from " header-client-cert-name))
  (first cert-objs))
```