Cleanup

Move private properties in to the private interface.
If looking at .../tree/<branch>, checkout <branch>

First pass at supporting checking out exactly what you're looking at.
Merge branch 'checkout-branch'