Wrote tests and fixed functionality for stream parsing

Wrote tests that mimiced the original functionality, only using a
content stream composed in a content negotiation request. Fixed logic
errors that prevented it from working previously.

Refactored to remove old logic, and instead have `parse()` cast the
request content to a `php://temp` stream if the request is not a
ContentNegotiation request; the stream is them passed to
`parseStream()`.

This allows removal of MIME and Mail dependencies.

All tests continue to pass!