[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. :)
Not the same logic as before.
Here are my last thoughts about this: https://github.com/yguedidi/facebook-php-sdk/blob/master/src/Auth/Token/Provider/RedirectProvider.php#L81