Initial support for branching and snapshots

woo