Add parseIterator method to Json::Reader

Because this:

    reader.parseIterator(vec.begin(), vec.end(), root);

is way more intuitive than:

    reader.parse(&(*vec.begin()), &(*vec.end()), root);
This isn't going to work for any iterators other than contiguous-range pointers.
It will compile with them, but fail at runtime. We can't use this code.
It basically only works on vector or string.