Add build git checkout

 - Add BuildStage class and functionality
 - Add result and build stage attrs to Build class
 - Update build state prop to use result attr
 - Raise AlreadyRunError in Build queue method
 - Create workdir on build run
 - Clone/checkout repo and commit