* Add RevisionSpec.as_tree which returns a tree representation of the revision specifier. This might return a remote revision tree. * Make status use this new method and not require RevisionSpec.as_revision_id, which for RevisionSpec_branch fetches data to the local repository. * Refactor common code for getting either a revision tree or a tree/branch's basis tree into a private function _get_revision_tree and make it use RevisionSpec.as_tree.