[doc] input_iterator_archetype is not a valid InputIterator

Description

creating_concepts.htm shows an InputIterator? concept which requires that the type of *it++ is the same as the value_type. (This is legit according to the C++03 requirements table for input iterators, but probably too strict in practice.) Then, concept_covering.htm shows an input_iterator_archetype, which fails to meet this requirement because *it++ will return an object of type input_iterator_archetype::reference which is distinct from, but convertible to, the iterator's value_type. If you try to assert that input_iterator_archetype satisfies the InputIterator? concepts as both are presented in the docs, it will fail.

This is only a documentation problem. As defined by the BCCL, input_iterator_archetype is a valid InputIterator?.

Well, there's probably a bug in the C++03 standard here. What it
actually says, if you read carefully enough, is that *a is
required to be convertible to T—where a is any value of
type X, the iterator type)—but *r++ is required to be
exactly T, where r is of type X&. I'm guessing the
strictly correct thing to do in the archetype is something like this:

The bug in the standard has been fixed in C++11. Both *a and *i++ are merely required to convert something convertible to T. So the input_iterator_archetype is correct, and only the docs are wrong. I've attached a patch.