Fixed many warnings in build.

Fixed Maven build as UTF-8 encoding, which removes a Maven warning and makes us truly
platform-independent.

Fix many generic-related warnings throughout the codebase, including many in the
Smith-Waterman algorithm - mostly caused by declaring variables or returns without
a generic.

Converted TokenListCloner to use Java 8, and added tests for it.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>