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

I understand the "risk".  I'm just asking if its really a risk we need to be concerned about.  If the answer is yes, then maybe we should have just returrned a List of CacheStatistics instead of an array (though depending on whether the API is on our public list we can't change it.