Added general array accessor functions: begin, cbegin, end, cend, and size. These functions are similar to the same functions in the C++11 standard library.
- Range no longer accepts zero sized dimensions since this would lead to erroneous values in other range data.
- Range now supports c-style arrays for array type template arguments.
- Cleaned up memory allocation and deallocation code.
- Removed some unused functions or functions that were only used in one place.
- Added missing or improved documentation.
- Modified the unit tests to reflect changes in the behavior of range.