Merge pull request #2 from naokin/master

Reference implementation of dense tensor class in terms of STL's vector
Added typename to iterator typedefs, otherwise there was a compile error.
Merge pull request 3.
Merge pull request #4 from naokin/master

Implemented public dense tensor interfaces and some test cases
Added missing #include <functional>
Merge pull request #8 from naokin/master

Incorporated comments on issues
Merged in new work by Naoki on NDIterator.
Fixed missing return statement in NDIterator operator=.
Fixed typo in NDIterator::__decrement()
Slight optimization of NDIterator::__increment() and __decrement().
Added method bool NDIterator::valid() to test if operator* references valid tensor element.
Added shape_type::value_type NDIterator::index(size_type n) method to get current value of nth index.
Undo bug introduced by 4ddc2d890c7db
Implemented move constructor, move assignment, and swap for NDIterator.
Merge pull request #1 from emstoudenmire/master

Adding valid() and index(n) methods to NDIterator.