- version_traversal working again
- create a system by which _upgrade_revs() and _downgrade_revs() can also
pass a flag indicating when a version update is a new branch create or
branch delete, instead of an update.  this along with merge information
provides _update_current_rev with all the info it needs to update the
version table.