Pre-change clean-up and refactoring.

- Added Guava and Apache Commons Lang3 as dependencies, and using them
to avoid reinventing the wheel.
- Removed commented out code and javadoc.
- Removed StringUtils and using Apache Commons' implementation instead.
- Switched test POMs to Unix paths.
- Updated copyright in the license.