Static Code Analysis with FindBugs

This pull is the result of running findbugs on the current master  and fixed issues that were most relevant. This item was mostly an action item that was suggested by the AppSec group to spot and detect possible security related code issues. Those include:

- Enforces immutable date objects
- Corrects wrong number of parameters passed to log statements
- Relying now less on default encoding and charsets which may vary on any platform
- Fixed inefficient loop iterations, specially over maps
- Adds StringBuilder and toString() generators where they appropriate
- Removes unused parameters from private methods
- Removes used private methods
- Removed duplicate methods calls to improve performance
- Adds final keyword where needed
- Parameterized log messages where needed
- Parameter encoding property where data is written out to response.

There is possibly a few more categories, but that's the gist of it. All tests pass. 
static inner classes are preferred over to non-static classes, specially in this case since the class itself is used in a static-like manner.