I believe the Go convention on this is bad, and this names them inline with the style used elsewhere in anacrolix/torrent with Ip for example.
Unfortunately it's pretty widespread, so I've only changed the recent additions.
* set up custom request headers
* apply headers defined in torrent client config
* add error handling
* provide better name for method
* update error message
* only apply HTTPRequestDirector if not nil