Make Frontend optional for HttpHandler.

If no Frontend is passed in, the add-chain and add-pre-chain handlers won't
be installed (this will be a read-ony log).
Rework the ParseJsonBuffer function to get one chunk at a time.
Move to new OpenSSL 1.0.2 API.
Use the Database directly from HttpHandler::GetEntries.

And also CTUDPDNSServer::LeafHash, for completeness.
Make HttpHandler::GetEntries non-blocking.

This operation goes to disk with both our Database implementations, so do it
on the thread pool, rather than synchronously.
Rewrite TBSCertificate, using the new OpenSSL-1.0.2 API.

Tested with 1.0.2-beta3 and 1.0.1.
remove redundant check
Merge branch 'ekasper-102'
Get rid of unnecessary construction.
Correct spacing.
Add a JsonObject ctor to parse from an evbuffer.
Fix a bug in the evbuffer JsonObject constructor.

We were always reading the first chunk of the buffer, so in the case of a
fragmented buffer, it would not work correctly.

Added a test, as well.
Convert HTTPLogClient to use libevent.

This removes the dependency on libcurl.
Add a wrapper for evhttp_request.

It's main function is to let you use a boost::function easily.
Fix a bug in the ownership of evhttp_request objects.
Add an async log client, and base HTTPLogClient on it.
Rename the "ct" C++ namespace to "cert_trans".
Run clang-format on the C++ code.
Fix an incorrect option on my previous clang-format run.
Fix --ct_server arguments to cpp/ct  (now requires a URL)

Also:
* display OpenSSL on startup of test_running_server
* When DER-formatted proof can't be converted to PEM, write a
  message to stderr (but keep on failing)