Handle 2xx responses with no content; allow metadata to be detached from a request (issue #17); update utilities; update test cases