added MPLP

Max-product LP relaxation inference for factor graph model.
Unit-test has been added.
Examples will be added soon.
@hushell, use your best criteria here. You know better than me what is needed here.

Having said that, I think there's probably not a very good reason to keep two different classes that implement the same multi-dimensional array data structure.

Regarding the base sizes comment above, I see that there is still a m_base_sizes attribute in your multi-dimensional array class. Doesn't this mean that base sizes are being recorded here as well like you mentioned?