Made sure that iterator_facade's nested ::pointer type is always the same as what's returned from operator->. For input iterators, that wasn't always the case (see operator_arrow_proxy).
Fixes #1019.