Add values to constructor and assign in IndependentFactor

They take 1 as default value, currently there is no option to initialize them to anything different. I would like to initialize them depending on the semiring. Is there any other alternative than adding these two functions?

By the way, the current code initializing to 1 will only work if ValueType is a basic type, right? or is there any magic going on underneath that I do not see?