Refactor project loading

This commit permits loading software from more than one gem, as well as loading software from multiple paths on disk.

/cc @opscode/release-engineers