Huge commit, before start refactoring Generators.
Split Generator into Generator and GeneratorFactory
Limited and unlimited generator
Limited and unlimited generator
Limited and unlimited generator: RandomRangeGeneratorFactory.java
Merge remote-tracking branch 'origin/master'