Implement setProtocolVersion() in MessageTrait

- Updated to ~0.3.0 of psr/http-message
- Added `MessageTrait::setProtocolVersion()`
- Removed `$protocol` form `Request` constructor
- Updated tests to remove the protocol from any request constructor
  arguments
Noted setProtocolVersion changes in changelog
Allow Stream::read() to return false

- Per change in StreamableInterface
Implemented IncomingRequest

- Implemented all methods defined in the IncomingRequestInterface
- Provided a constructor that allows for both discrete arguments, as
  well as an array of arguments with a key for each type of incoming
  data parameter.
Updated changelog

- to refer to new IncomingRequestInterface
Use php://memory as default Request stream

- Uses `php://memory` as the default stream; `IncomingRequest` uses
  `php://input` as its default stream.
Renamed RequestFactory to IncomingRequestFactory

- It now produces and/or acts on `IncomingRequest` instances.
Created IncomingRequestFactory::fromGlobals()

- Creates an IncomingRequest instance from superglobals (or values
  passed to the method).
Updated changelog

- to reference the fromGlobals() method of IncomingRequestFactory
Documented all changes, and corrected Server::createServer

- Updated Server::createServer() to require each of the superglobals,
  not just $_SERVER.
- Added references to IncomingRequest to documentation.
- Updated all interfaces listed in the documentation.
Updated Server to use IncomingRequests, not vanilla Requests.
Merge branch 'feature/incoming-request'

Close #12
[0.5.0] release readiness