Don't throw if seeking the end of the restricted area of a file.
The restrict tests were failing on Visual C++ because they seek the end
of the restricted area (io.seekp(0, BOOST_IOS::END)
). I think this is
something that should be allowed, so I've changed it so that it doesn't
throw if moving to one past the end. Hopefully it will throw if the user
actually tries to write to the file after this seek.
It looks like the test wasn't failing on gcc because the standard
library was suppressing the exception.