Fixing bad shutdown in end_testcase

The end per testcase function is common to multiple tests, but some of
them do not use an active drain. This fix makes the end_per_testcase
function blind to whether it exists or not.
Adding a way to unregister a channel

Tests are included. The feature will be required when upgrading
tcpsyslog drains from one kind to another -- the drain process itself
will need to transfer the channel property to the drain buffer process,
otherwise messages will be duplicated.
Requiring R16B
Partial support for cowboy 0.8.5

Also upgrades the header on bad responses to contain the explanation
instead of the generic HTTP message
Allowing write concurrency on logplex_stats

Logplex_stats is a table that receives a very large amount of writes for
one big read every minute. We should be able to generally benefit by
reducing contention on resources given pretty much all drains write to
that table, at the cost of a slightly longer blocking time when reading.
Updating rebar to newer version
Proper callbacks for SSL and TCP in http client
ETS write concurrency for real time
fixing test dependencies

fix suite argument order also