Benefit 1) check doesn't change local file contents via loading Runtime
Benefit 2) Get an actual good output for check returning not-found errors
lock_contents can raise an exception. Should not open file until content is generated without error
More clear about what is being checked for in out.should
Test of 3x check causing error on last run
Multiple calls to check should give the same output

- fix group tracking so that groups are only loaded once, and
loading the same group twice no longer loads all groups
- fix Bundler.load so that it memoizes its results. creating
more than one runtime in a single invokation is very bad
- spec to make sure the runtime only gets created once
If you called setup(:default) and then require(:default), it would
try to set up every group. That is no longer the case.