Ensure that DelimitedCodec doesn't leave a byte behind

When DelimitedCodec is decoding a buffer, it splits the buffer into a
number of Views - one for each delimited chunk. The split is
performed using a delimiter. If the buffer is stripping delimiters the
views will not include the delimiter at the end of each chunk. If the
input buffer has a delimiter at its end, this will lead to the delimiter
being left in the buffer as it was not considered part of the last
view. When buffer's a reused, such as in Netty's request handling
pipeline, this causes the residual delimiter to be prepended to the
next buffer of data.

DelimitedCodec has been updated to ensure that the buffer's position
is at the end of the processed data once each of the views has been
looked at, rather than possibly being one byte from the end of the
processed data.

This problem was only occurring intermittently as the test was only
sending three delimited chunks. This was almost always handled in a 
single buffer, eliminating the chance of the stray delimiter being
preprended to a subsequent buffer. The TCP client test has been changed
to send 100 chunks so that there's a far greater chance of the buffer
being reused.

Lower level tests have also been added to StandardCodecsSpec to check
that DelimitedCodec leaves the buffer's position and limit in the 
expected places.

Fixes #95