Split AbstractHandler into concrete classes

The functionality in handle() was moved into several Filters (except for
setting Date, which was discovered to be done in
HttpExchange.sendResponseHeaders). The helper methods were moved into a
static HttpExchanges utility class.

MockHttpExchange/MockHttpsExchange were modified to no longer have the
protocol because it could effectively be hard-coded and every protocol
specified was wrong. This change is orthogonal, but included since at one
time every "new MockHttpExchange" was going to need to be modified. That
need went away, but many call sites had already been changed, thus it was
easier to just include it in this commit.
34 files changed