Reworked next() and prior() taking the distance arguments.

The new version should provide the expected behavior in the case (prior(v.end(), v.size()) == v.begin()). It should also work with integers now, as was originally intended by David Abrahams. Added tests to verify these new use cases.
Merge pull request #15 from boostorg/next_prior_fix_iterator_backtracking

Reworked next() and prior() taking the distance arguments.