Build Caches should make directory first, and check build and hash command status codes

@adamjt @bfulton 

Random things I've found where build caches are inadequate.