Add support for Location header in 201 responses

For a 201 Created response, the RFC offers that the newly created resource can be referenced by the URI(s) returned in the entity of the response, with the most specific URI for the resource given by a Location header field.

This adds support for this feature, including extensible URL parsing.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
The API I'm consuming returns 201 Created with an empty response and a Location header.

Other APIs might set Location and return a body – so it's possible some part of this Location header code should execute even when a response body is present.