Major refactorization

* Change package structure.
* Improve Javadoc documentation.
* Extract utility classes from Hadoop jobs.