[CHEF-4214] ensure a software build_dir is unique per project

The project scope for a software definition's `build` and
`fetch` tasks are determined by the location of it's manifest file.
Two projects that shared the same install_path would also
inadvertently share a software build_dir and in turn share manifest
files shared software dependencies.
create an `Omnibus::Library` instance per project

This will ensure the library instance only contains components for a 
particular project. It will also make retrieving all components for a 
project much easier.
Merge branch 'CHEF-4214'