Resturcutring the build and adding tests.
Adding tests for equality, ordering.
Updating missing, modified files.
Stubbing out tests for concepts in core.
Style cleanups.

Also renamed iterator.hpp to concepts.hpp in iterator lib.
Adding utility header to core concepts header.
Testing iterator concepts.