- Modify distributed evaluator to take a policy as a template parameter.
- Updated to handle new data movement.
- Added wait counters.
Initial implementation of ArrayEvalImpl, which handles is a wrapper class around array objects.
Skeleton implementation of the ArrayEvalImpl test suite.
Removed files that will be replaced by the new expression system.
Removed expression operators and functions.
Added some documentation.
- Removed unnecessary policy header.
- Redefined what the policy will define.
Policy typedef's are now public.
Added validation function to shapes.
Added policy template parameter to Array and TensorImpl.
Added process map interface template parameter so that policy classes can change the behavior.
Revert "Added process map interface template parameter so that policy classes can change the behavior."

This reverts commit a8430f6a95a2020510b9c8fbaf829469d4fd186e.
Sparse policy now uses SparseShape instead of DenseShape.
Removed pmap_interface from policies.
Fixed constness of spare shape member functions.
SparseShape data is now non-mutable.
Added a constructor to SparseShape to do collective initialization.
Silenced a warning.
DistributedStorage now requires the process map in the constructor.
Minor code reorganization.