added MPLP

Max-product LP relaxation inference for factor graph model.
Unit-test has been added.
Examples will be added soon.
Hey @hushell. In principle, it makes sense to me, yes, and a better idea than having two different classes that both implement multi-dimensional arrays. However, I would check first if SGVector and SGMatrix contain methods that are similar to the ones you want to include. If they do, then it is perfect. Otherwise, we might need to think more about it. I remember there was some discussion and effort in the past in order not make these SG* classes too cluttered with extra methods implementing math.