Adding notice
TS-2553: minor metalink refactoring

Reorder some functions so related functions are grouped together.
Rename some variables to more easily disambiguate them.
TS-2553: metalink: preserve the content length header

Copy the upstream nbytes (if known) downstream to preserve the
"Content-Length: ..." header.  In that case there will be a
TS_EVENT_VCONN_WRITE_COMPLETE event from downstream before ntodo
is zero, so write the digest to the cache in
transform_vconn_write_complete().  If the upstream nbytes isn't
known until the end of the content, update the downstream nbytes
and reenable it to get it to send a TS_EVENT_VCONN_WRITE_COMPLETE
event.  Fix some memory management.
TS-2553: metalink: avoid segfault in TSVIOReenable() if the client disconnected
TS-2553: metalink: small bug fixes and documentation updates

Drop TSVIOBufferGet() and test TSVIOReaderGet() instead. Improve
comments.
TS-2553 CHANGES
TS-2290 Make the logstats checks resilient to warnings on missing xid tag
TS-2556: fix ink_hrtime_diff_msec
TS-2556: minor ink_hrtime cleanup

Remove unnecessary based time conversion APIs. These don't do
anything different from the standard hrtime converters.

Add a timespec conversion ink_hrtime_from_timespec(). Add
ink_hrtime_from_timeval(). Use hrtime converters internally, rather
than duplicating arithmetic.
Minor jtest updates.

Format error messages over two lines to make them more legible. Use
a single function to calculate elapsed milliseconds from the
transaction start.
TS-2559: Disconnect clients on unrecoverable origin errors

If we receive an unrecoverable error from the origin, then the HTTP
tunnel shuts down the cache write, but leaves clients connected.
This means that when a transaction is aborted due to an error, or
by exceeding the configured active transaction time, the client is
left hanging for a response that will never come.

The solution is to treat errors the same as end-of-stream. In all
cases, if we have the response body we are ok, but otherwise we
have to shut down all the tunnel consumers. They can't recover from
the response body being truncated so there's no real choice.

This can be tested by setting
proxy.config.http.transaction_active_timeout_out to a short value
and taking too long to send the response body. Alternatively, close
the origin socket before sending all the body bytes, pausing to
make sure we procress to the tunnel handler state before closing.
TS-2560: regex_remap lowercase substitutions is not being initialized
in the construtor
TS-1622 Add an API to query if a response header would be cacheable
Added TS-1622 to CHANGES.
TS-2567: add --enable-test-tools build option

We always build the test tools, but for QA automation, it is useful
to install them as well. Add a --enable-test-tools build option
that installs the jtest and http_load tools.
Fix jenkins configure options
TS-2568 Better template messages
TS-2239: detect OpenSSL ALPN support
TS-2239: support the ALPN TLS extension

Add support the for TLS Application Layer Protocol Negotiation
extension. This uses the same infrastructure as NPN, so a consistent
protocol advertisement is created. Any plugin that registers to
accept a named protocol will automatically gain NPN and ALPN support.

This requires a very recent OpenSSL, probably 1.2 or something like
that.
TS-2239: use full TLS extension names in the configure log