Fix PUTs, POSTs, PATCHes and OPTIONS client code gen when nil body
Fix PUTs, POSTs, PATCHes and OPTIONS client code gen when nil body

The httpPut etc. methods create a contentReader as bytes.NewReader(body)
even when the body is nil. This idiom used to work until go 1.6.

In go 1.7 it results in different behavior where the client does not
set the Content-Length: 0 header causing the server to return an error.

Fix this such that the reader is only initialized when the body is non-nil.

ardielle/ardielle-tools