range iterator derives std::iterator
Merge branch 'catchtest'

Conflicts:
	range.hpp
marks enumerate iterator as forward_iterator
adds more serious tests for enumerate
adds minimal requirements for testing
tests enumerate with minimal requirements
adds catch test gitignore
zip iterator inherits from std::iterator
basic zip test
adds test_zip to main catch test
adds test for correct empty zip
adds enumerate test with const sequence
adds zip test for shortest sequence termination
adds test for empty zip()
tests for modifying iterables through zip
tests zip for correct bind and move
soldint throws if two levels of moves happen