fix redirect location: make sure we use absolute urls.

With this change the Location is now proceded using the following rules:
- if it starts with http://, https:// it is considered as an absolute
  url and directly used without any change
- else, we reuse the last host, port and scheme to create an absolute
  url from the relative path given.
- if no Location header is given we just return the response.

fix #105