Refactor to strict PSR HTTP message interface interpretation

Refactors this implementation to strictly follow the PSR HTTP Message
interfaces. This means:

- Removing `Phly\Http\ResponseInterface`.
- Updating `Phly\Http\Response` to only implement
  `Psr\Http\Message\ResponseInterface`.
- Removing property overloading from `Phly\Http\Request`.

Making this change also allowed reworking the request and response to use a
trait instead of extending an abstract class.
Updated CHANGELOG
Merge branch 'feature/strict-implementation'

Close #2