work-around for msvc limitation that causes has_iterator<> to fail for structs named iterator. Only applies to msvc-10.0 and earlier.
Merge branch 'ericniebler-develop' into develop
Merge branch 'develop' - to incorporate the MSVC workaround for range_iterator by Eric Niebler.