Fix ByteChunk race condition when forcing

This has exhibited itself multiple times with various bugs. We're
passing around ByteBuffer instances, but they're mutable and if two
things (e.g. POST handler and request log) read them whoever gets it
first wins. Forcing a duplicate simply makes a copy of the metadata
around the buffer (e.g. position) but points at the same underlying
data. This makes it slightly safer to pass the instances around. We
should probably consider a safer alternative to ByteBuffer, or switch
to plain Array[Byte].
Fix wildcard Accept header handling with produce combinator

The last commit changed the produce combinator to validate the Accept
header sent with the client request, but did not cover the '*/*'
case. This lead to refusal to service valid requests.