Add lifecycle features for testing long-running Berkshelfisms
Check nested dependencies when determining if a lockfile is trustworthy
Add the ability to ignore top-level dependencies when removing them

There is a use case, mostly when reducing a lockfile, that you want to
safely remove a nested dependency from a metadata or path location. This
commit adds a new :ignore key to dependency? and remove methods that
tell Berkshelf to ignore the given dependency when checking for deeply
nested dependencies.
Reduce the lockfile including deeply nested dependencies
Update specs for new lockfile trusted? method
Actually use the correct test

Turns out, we had a bad test. `git blame` says I wrote it. I'm gonna fix that...