Refactorings to allow injection of web request / response and more unit test exposure

Use this plugin all the time and was actually attempting to figure out why it wasn't working nicely with our Jenkins repo which had everything in top level folders...

So I started refactoring the existing code as the current tests are integration tests since they hit a real website, and have allowed for injection of web responses and requests and created some starting unit tests using a saved XML response that mimics the existing response of the website the integration tests currently hit