Refactor perform/follow

- Properly handles relative URIs upon redirects
- Prevents from endless redirect loops
- Allow limit amount of redirect hops (if `:follow` given as `Fixnum`)