Great design refactoring.

New classes added in order to improve dependencies design, hiding unnecessary ones to public interfaces.
Test files checkstyle issues.
Removed all old GWT tests and set-up new JVM tests.