Allow conversion from one NDIterator type to another as long as _Iterator type is convertible.
Added method NDIterator::end() which constructs an NDIterator representing the ending state of iteration. Added some other Tensor-like accessors to NDIterator.
Fixed incorrect definitions of NDIterator::size() and NDIterator::end().
Fixed duplicate code introduced in a previous merge.
Merge 'naoki/master'
Removed out-of-date code introduced in patch to old version of NDIterator.
Minor cleanup of external begin and end NDIterator friend functions.
Added friend declaration and changed template argument to allow conversion between NDIterators with convertible iterator types.
Changed conversion from NDIterator<Tensor,Tensor::iterator> to NDIterator<Tensor,Tensor::const_iterator> to use a conversion operator instead of templated constructor.
Merge pull request #2 from emstoudenmire/master

NDIterator edits
TODO: cast operator is to be replaced by much clever way to perform conversion from iterator to const_iterator