Findbugs - MALICIOUS_CODE category fixed

## What
Added the category of MALICIOUS_CODE to the FindBugs configuration and as a result, fixed errors reported back. Findings are mostly in the category of "Component exposes internal implementation to the caller", which usually deals with returning mutable objects (primitive/object arrays, dates, etc) to callers. 

## How
In order to address the findings, I did the following:

1. Wrapped immutable collections around `Object[]`, `int[]`, etc 
2. Used `ByteSource` where appropriate for `byte[]`
3. Making sure `DateTime` is used instead of `Date`
4. Marked the `SimpleHttpClient` class to be only internally accessible
5. Guava library added as an explicit dependency to account for the above
6. Updated javadocs and unit tests to reflect changes

Can ```params``` be ```null```? Because ```params.length``` would not support it...