Subversion backend: rewrite the `_history` helper, so that it only uses `svn.fs` primitives.
This is cleaner, as that doesn't involve C <-> Python round-trips via the history_cb and authz_cb. Moreover, `_history` is now a real generator, so it doesn't have to embed the `limit` number of revision logic.