[Iterators] Add IteratorRange helper class

IteratorRange is a cheap, throwaway container to implement support for
range-based for loops if the underlying containers doesn't provide
standard begin() / end () methods.
[buildsystem] Check for range-based for.
Merge branch 'feature/FS1042-range-based-for-loops-test-and-iteratorrange'

This branch contains required infrastructure for the new iterator ranges
in dune-grid. In particular, it adds a configuration test that checks
whether the compiler supports range-based for loops and a small utility
class that serves as a container for a pair of begin and end iterators.

* feature/FS1042-range-based-for-loops-test-and-iteratorrange:
  [buildsystem] Check for range-based for.
  [Iterators] Add IteratorRange helper class