Refactoring/Cleaning

Piobab made refactoring in order to keep all classes simple (this code should be easier to read). He removed unnecessary code and made shorter methods.
He prepared tests to run it with robolectric. Use gradle localTest from library directory to execute all tests (results are available in app/build/reports/tests/index.html).