Issue title: Compilation errors with _GLIBCXX_DEBUG defined
 Issue body: Thanks very much for the work on #294.

Unfortunately, I'm now seeing a new compilation failure that I suspect arises from those changes. I'm now getting a failure under both GCC and Clang from just including `<range/v3/core.hpp>` when `_GLIBCXX_DEBUG` is defined.

GCC errors:

~~~~~
In file included from range-v3/include/range/v3/utility/iterator_traits.hpp:20:0,
                 from range-v3/include/range/v3/utility/iterator.hpp:25,
                 from range-v3/include/range/v3/begin_end.hpp:24,
                 from range-v3/include/range/v3/core.hpp:17,
                 from a.cpp:1:
range-v3/include/range/v3/utility/iterator_concepts.hpp:629:15: error: ‘iterator_difference_t’ in namespace ‘ranges’ does not name a template type
     38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5ranges38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5iterator_difference_t<I1>
               ^
range-v3/include/range/v3/utility/iterator_concepts.hpp:634:15: error: ‘iterator_difference_t’ in namespace ‘ranges’ does not name a template type
     38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5ranges38d1:d2b4:3d06:83e8:96a5:8c2:893d:aba5iterator_difference_t<I1>
               ^
~~~~~

Or am I just missing something that I should now be doing when using `_GLIBCXX_DEBUG`?

Thanks very much.
 Comments: 
 Comment 0: Thanks both for fixing this so quickly. Great work.
{'source': 'GithubIssues', 'repo_name_with_owner': 'ericniebler/range-v3', 'issue_id': 152565545, 'repo_stars': 3722.0}