Problem solution should be instantiated through factory class to make th...

...e process more adaptable.

This resolves issues https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/issues/20 and https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/issues/41 - class Main() is a formally required entry point, so class FizzBuzz() is the real entry point and so it'd be better kept, but everything inside it should be as adaptable as possible.