Custom Request object

Replacement Request object that adds a `getContentAsStream()` method. This
can be used to allow parsing the incoming request content as a stream, and thus
allow reducing memory usage.

Also adds a specialized request factory for returning this particular request
type, and registers it with the service manager to replace the standard HTTP
request object.
Added stream parsing support

Moved all parsing into a dedicated class, MultipartContentParser.
Original parsing logic for known content blocks remains. Also added a
parseFromStream() method that will iterate over the content line by line
in order to parse it into data and files.

TODO: testing, and potentially altering the parseContent() logic to
remove the Zend\Mime/Zend\Mail dependency.
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!
Override UploadFile validator

New validator composes a Request instance. On PUT/PATCH requests, it will
override any UploadFile::ATTACK errors and mark them as valid, allowing file
uploads from those requests methods.

If no request instance is present, or for other request types, it falls back to
the original logic of the ZF2 validator.
Implemented replacement RenameUpload filter

New filter compses a Request instance. On PUT/PATCH requests, it will
override the `moveUploadedFile()` method in order to do a simple file
rename instead of use `move_uploaded_file()`.

If no request instance is present, or for other request types or
methods, it falls back to the original logic of the ZF2 filter.
Added aliases for new filter, validator

- Aliased FQCN to "short names" for each of the new filter and validator, so
  that they will select the appropriate factory.
Merge branch 'hotfix/upload-using-streams'

Close #20