Added support for HEAD requests.

HEAD requests are principally useful for testing that an endpoint is reachable (is the server working?) and testing that the parameters passed in a request are coherent (is this a good or a bad request?).

It is important to support HEAD requests, without which the HTTP implementation is not complete.

The Go net/http stack appears to implement HEAD requests via a 'devnull' writer.  This makes it easy for implementers because an existing get-request handler can also be used for the equivalent head-requests.  Response output is sent to the client in the case of GET requests, but dropped in a black hole in the case of HEAD requests; this meets the requirements of the HTTP RFC.