Generator Factory

We need a factory to create a train generator and an architecture generator,

see Abstract Factory Pattern

The Factories should be defined in their respective projects, i.e. CNNArch2Caffe2 should contain a Caffe2GeneratorFactory; the CNNArch2MXNet Generator project should contain the MXNetFactory.