Dense lin alg spat fld ptr backend
Change FieldMatrix and FieldVector to use std::vector<SpatFldPtr > instead of std::vector.
Fix bug in SpatFldPtr where lock was not held during copy constructor yet shared data was incremented.
Change synchronization structure in SpatFldPtr to be a spin lock instead of a mutex.