Fix GCC compile errors
Add suppport for read-only multi-pass iterators
Fix the with-exceptions case