reintroduce tree_status

We're going to need this because git-checkout will allow you to keep a
modified/deleted file in the working tree as long as that file isn't
changed from old-commit to new-commit. We want to give up earlier, if any
imported files have been touched.
use tree_status() to do our own cleanliness checking