Make fields parameter to read_torrents overrideable

I have had some issues with performance using Transmission::Client. I wanted to see if I could limit what data I request to the data I actually use. It seems to work:

A non-lazy read_torrent without this change (on a transmssion-daemon with ~500 torrents):

    39924 packets captured

With this change, only asking for id, name, percentDone, rateDownload, rateUpload, uploadedEver:

    107 packets captured

Also in this pull request, a rewrite of the request_has test helper function. As @sergeyromanov pointed out in #4, the tests were dependent on the order of hash keys. My proposed solution is to actually parse the JSON and make the comparison tests more fine grained. With this change, i removed the TAP plan and use done_testing() instead. I would prefer not to, but calculating the number of tests can be a bit challenging.