Added no-auth option, build-details, test-results, redirect support, plus

Hi,

We recently switch to using your api_client to communicate to jenkins.  The following changes were needed, and I thought it would be great to roll them into the main project rather than maintain a separate fork.

Added:
* Ability to not specify username/password - seems some jenkins instances have no auth, and passing credentials to them causes breakage.  Also moved the auth insertion into the request to one place rather than all the different locations a request was created.
* Ability to retrieve build details so that more than just "lamp color" is available.
* Ability to retrieve build test-results for those builds that have them.
* Option to follow any 301/302 responses.  This allows POST to build to follow the redirect and end up with a 200 response.
* Small change to post handling - we found that our proxy was returning a 411 response if the post to build contained no data - so changed the default to be "{}" instead of nil.
* Couple of new tests.

Thanks very much for the api client - works a treat!
Doug

Note: there are a couple of commits below that are effectively nil (I unrolled them, but they stayed in the history)
7a3a27d, 45a4b28, and 935cc6f should not apply (don't appear in the diff)