[TS-2686] Defer cacheability check until SEND_RESPONSE_HDR hook.
[TS-2688] atscppapi: new exmaple plugin Boom
Fix spelling in comments
doc: make man page index more compact
doc: bump the RTD documentation version to 5.0
tsxs can be found in trafficserver-dev package

GitHub: This closes #69
TS-2687 Support for MIPS paltform
Added TS-2687 to CHANGES.
TS-2589: don't hold up the response until the server starts sending content

If there is a transform (for example a null transform) then the
response headers aren't forwarded until the origin server starts
sending content. Normally (without a transform) the headers are
forwarded as soon as they are done, whether content is available
yet or not.

The headers are sent when the transform calls TSVConnWrite() and
the transform is called at the end of the headers/start of the
content. But it's not called if the available content is empty. A
possible fix is to call the transform at the start of the content
whether content is available yet or not. This doesn't affect a
buffered transform which can still delay and update the headers
until it calls TSVConnWrite().

GitHub: This closes #49
Add missing braces
doc: "cache" not "ache"
TS-2657 Eliminate TSHttpTxnSetHttpRetBody

This patch does the following:

1. First, both TSHttpTxnSetHttpRetBody() and TSHttpTxnGetMaxHttpRetBodySize()
are removed. I’ve patched all “core” plugins to use the
TSHttpTxnErrorBodySet() API, but any non-Apache plugin would break. Hence,
this change is going in for v5.0.0, which allows breaking compatibility.

2. More importantly, TSHttpTxnErrorBodySet() requires for the body to be heap
allocated, whereas TSHttpTxnSetHttpRetBody() used a fixed size (2KB) array on
the HttpSM. This was the primary reason why I started looking into this, since
this “simple” change reduces the size of the HttpSM by 25%.

3. In order to make the TSHttpTxnErrorBodySet() API easier to use, I’ve
made the content type value NULL imply a default of "text/html". This is by
far the most common use case, and saves a good chunk of allocations.

4. The TSHttpTxnErrorBodySet() also imposes the body to be sent through the
body factory, for log field expansion. For starters, this is incredibly
inefficient , as well as imposing an 8KB size limit. This is something I
intend to ameliorate soon by improvements to the body factory. However, this
is an unnecessary inefficiency IMO; As part of the body factory improvements,
I also plan on exposing the body factory “log field” expansion as a generic
API. This would allow any plugin to decide if they want to go through the
pains of body factory expansions or not (and not limited to just error pages,
e.g. Header Rewrite would use this new API).
Add TS-2657 to CHANGES
TS-2578: Close the client connection when you close TransformTerminus

If a transform has sent any content downstream before it decides
to call TSVConnAbort(output_vc) or TSVConnClose(output_vc) then the
client connection doesn't get closed. If TransformTerminus::handle_event()
sends VC_EVENT_ERROR or VC_EVENT_EOS events then the client connection
does get closed, but it only sends these if m_called_user is false.
After any content has been sent downstream, m_called_user is true.

GitHub: This closes #42
Doc: we use the phase member to distinguish the dir valid or not.

The Dir becames invalid when the Doc is evicted from the cache
TS-2431 Fix compiler warnings, and eliminate unnecessary \n
Remove unnecessary debug statements
TS-2656 Determine server connection scheme immediately before connecting
Add TS-2656 to CHANGE, and minor indentation fixes.
Remove some dead definitions