Rework Webmachine error logging to use the built-in log handler

Rework error logging to be more flexible. This changes the default
error logging behavior from using the Erlang error_logger to using an
event-based system that allows for more customization and flexibility
for users.
Merge branch 'klm-error-logging-revamp'
Increase line coverage of webmachine unit and integration tests. The
goal for this first round is to increase coverage of the decision core
of webmachine. For each node on the v3 HTTP activity diagram there are
one or more tests that reach that node.

There are tests to cover 406, 412, 401, 400, 301, 307, 304, 404, 201,
409, 303, 202, 200, 201, 410, 300, 500, 501, 403, 414, 415, 413,
including Vary headers, streaming bodies, MD5 sums.

Additionally, extra logging and archiving have been added to access
data on Travis CI.

Some of the previously existing tests have been fixed, as well as a
minor bug in webmachine itself.
Extend timeout and exit supervisor normally in etag_test
Refactor authorized_b8 assert conditions
Change some webmachine include_lib statements to includes
Merge branch 'ms-integration-testing'