Add build git checkout
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

sprucedev/DockCI,RickyCook/DockCI,sprucedev/DockCI,RickyCook/DockCI,sprucedev/DockCI-Agent,sprucedev/DockCI,sprucedev/DockCI-Agent,sprucedev/DockCI,RickyCook/DockCI,RickyCook/DockCI