- Removing generic classes and putting them into a common library.

- Created parent POM and moved some dependencies up into parent.