Slight refactor to detectRequestUri()

- Moved logic around so that criteria that can run in isolation is run
  first.
- Grab request URI from REQUEST_URI from outset, if available, as
  there's no reason to delay.
- Some code calisthenics to remove nested conditionals.
Extracted request population into factory class

Created RequestFactory. Main method is the `fromServer()` method,
which takes the `$_SERVER` array and, optionally, a request instance
to populate (if none is passed, it will create one).

The functionality was extracted from Server, and refactored to make it
easier to understand and test. Tests were written to cover each use case
and combination of input.
Test the Server class

Tested all aspects of the Server class. This included writing test
assets that override various PHP functions in order to allow testing
what headers and content were emitted by the server.
Omit "Functions" test asset from CS checks

- It will fail the PSR-4 check, as it lives in the `Phly\Conduit\Http`
  namespace in order to override PHP functions.
CS fixes (trailing whitespace)
Merge branch 'hotfix/server-refactor'

An attempt to fix a number of issues reported by scrutinizer. Among them:

- Separate request marshaling into a separate class that the Server will then
  invoke with `$_SERVER`. This makes the logic testable and re-usable. It also
  allowed for significant refactoring to make it easier to comprehend and
  maintain.
- Added unit tests for the Server. This entailed creating some test assets to
  overide PHP functions within the `Phly\Conduit\Http` namespace, which allows
  capturing things like headers and output without worrying about output
  buffering.