[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. :)
Basicly, just to be sure that they are added by Facebook. e.g. ``error`` param without others error ones mean it's not added by Facebook because Facebook always add four params for declined auth.
More detail later, I'm at work. ;)