Fix for Codeplex-1433 Mime Multipart parser requires an extra CRLF

The Mime spec does not require the last part of the request to be
terminated with a CRLF. Our parser current requires this extra CRLF, but
we've discovered some popular tools which don't append it. This fix will
bring our parser up to spec for this case.

The end of a Mime multipart message is detected by the presense of the
'boundary' token followed by the literal '--' and then optional whitespace
and an optional CRLF.

Ex: (boundary is 'endsection' in this example)

BEGIN
--endsection
some content

--endsection
more content

--endsection--
END

So, the final line '--endsection--' may or may not be terminated with a
CRLF (newline) in a legal request.

The complication with this fix is that we require the last part of the
parse to consume the end of the input stream. It's not enough to see
'--endsection--' and declare that we've seen the end of the message, we
want to capture any text or invalid characters following the final
boundary.

In order for this to be possible, we need to reinvoke the parser with the
empty array when we run out of bytes to signal the end of the parse. This
requires some changes to validation logic to facilitate the re-entry of
the parser for this special case.

Also added a DebuggerDisplay for the parser's state to make things easier
to visualize.