Integrating Suyang's code and removing additional comments. Still needs (1) more comments in doxygen format so that we can generate docs and (2) change MatrixAdaptor so that manu unary and binary functions take in result as an argument. For example, plus (A, B, C) performs C = A+B as an operation. Please look at Elemental documentation for parameters