Protect use of boost::detail::iterator_traits

As of 1.56, boost::detail::iterator_traits is a mere using declaration.
We protect our use of this detail components with a check on Boost version.