factorMarginal and marginal used FactorType but must use IndependentFactorType

If an inference solver overwrites marginal and factor marginal one must use 
IndependentFactorType and not FactorType .
And astart could just not implement marginal and factor marginal sinde the impl. is the following:

InferenceTermination marginal(const size_t,IndependentFactorType& out)const
{return UNKNOWN;}

InferenceTermination factorMarginal(const size_t, IndependentFactorType& out)const 
{return UNKNOWN;}