refactor FailedDependency, environments blueprint

FailedDependency goes into an exceptions module in observatory and the
environments blueprint gets some features that make it more robust
against one or more environments returning 500.


fixes issue 9.