Merge pull request #4 from BTAS/master

sync with BTAS/BTAS
Minor refinements.
Made TensorView copy constructor non-explicit to allow returning TensorView from a function.
Created diag(T) function that makes a TensorView of the diagonal of T.
Merge pull request #5 from emstoudenmire/master

Fixing Tensor accessors
Merge branch 'master' of https://github.com/evaleev/BTAS

Conflicts:
	test/test.C
Now compiles with g++ 4.8.2 on OS X.
Merge branch 'master' of https://github.com/evaleev/BTAS
Merge pull request #17 from evaleev/master

Sync with evaleev/BTAS: can compile with g++ now
Merge remote-tracking branch 'BTAS-emstoudenmire/rslice'
Revert "Merge remote-tracking branch 'BTAS-emstoudenmire/rslice'"

This reverts commit 2f46eb317a31a48717af07cb227de805413f44b4, reversing
changes made to b765bb5e58099eb15a35e5d71098b0f3eeb0bba4.
Cleaned out tarray.h, stride.h is gone.
Introduced BoxOrdinal.permute().
Minor cleanup of StorageRef.
Fixed const issues in TensorViewIterator.
More TensorView constructors are non-explicit to make syntax cleaner.
RangeNd can be sliced to help TensorView … Tensor can be safely initialized with sliced/permuted TensorViews
NDIterator gone … TensorViewIterator plays its role, but behind the scenes. TensorView is the central player now. Further development of Tensor syntax is needed.
Ooops … forgot to add tensor_func.h earlier.
Fixed type in the name