The first commit of the "AutoMatrix" effort. The goal here is to factor out the code that does not depend critically on data type---or more specifically, depends on nothing more than the sizeof(T)---and to implement the ability to build dynamically typed systems. Note that it is not in compilable form at the moment, because changes to DistMatrix required to accommodate the new Memory<T> object have not been committed. However, if you comment out "distmatrix.hpp" from "core.hpp" (leaving in the forward reference) the changes should compile.