Add logging for when webmachine crashes when body exists.
Return a 400 when a request includes an invalid host header

Fixes #143

Return a 400 Bad Request instead of 500 when a request includes an
invalid host header. Also update the error logging used in
webmachine_mochiweb:handle_error/3.
Handle undefined request time values in performance log handler

Handle the case where the end time or finish time fields of a log data
record are undefined when calculating request times in the performance
log handler. This situation can happen when the request contains an
invalid parameter and is not handle by the decision core module.
Treat empty content-type header value the same as if it were undefined

Clients can send a content-type header with no value and this change
adds handling to treat that case the same as if the header were
undefined. This allows request processing to proceed instead of
resulting in a 500 error response to the user.
Removing io:format/2 calls from log file processing
Merge pull request #151 from djnym/remove-io-formats

Removing io:format/2 calls from log file processing
Merge branch 'klm-handle-empty-content-type'
Allow responses for all HTTP errors to be customized

Fixes #144

Currently, only responses for some errors can be customized using a
custom error handler module. Make changes so that any error code
response can be customized. The main driver of this is to allow Riak
CS to more closely match the error responses prescribed by the S3 API.
Merge branch 'klm-flexible-error-responses'
Merge pull request #76 from campanja/r548-dont-swallow-crashes

Add logging for when webmachine crashes and body exists.
Avoid keeping extra request state any longer than necessary

Only keep the request state information that is embedded into the
request data record as long as necessary. This avoids the overhead of
large amounts of unused and repetitive request state and request data
record information being aggregately accumulated during the lifetime
of a single request.
Replace use of dict with orddict in request records

The dict type wastes a good deal of space and is not the most
efficient type when total items is relatively small. The uses of dict
are cases where the size should be relatively small so using orddict
instead should have space and performance benefits.
Update metadata initialization in metadata_test
Merge branch 'klm-handle-invalid-host-header'
Merge branch 'klm-reduce-request-overhead-rebased'
Peg webmachine to the 1.5.1p6 tag of mochiweb
Merge branch 'klm-update-mochiweb-dep'
Roll webmachine vsn 1.10.2
change hash fns for R16B01 compat
Merge pull request #155 from basho/pevm-r16-compat-rebased

change hash fns for R16B01 compat