[4.1] URL detection interface

- Adds ability to overwrite default URL detection logic.
- Improves on the default URL detection and should fix #158
- Extracted some URL manipulation logic into `Facebook\Url\FacebookUrlManipulator` with plans to extract the URL manipulation stuff from `Facebook\Entities\FacebookRequest` so that it can be shared with the new pagination stuff (to come after this merge).
- Complete with documentation. :)
Simply do:
```php
$_SERVER = [
    'HTTP_HOST' => 'foo.bar',
    'SERVER_PORT' => '80',
    'REQUEST_URI' => '/baz?foo=123',
];
```
;)