- inherit explicit requirements that the user defined himself
- but _not_ implicit requirements that cdist added for autorequire
Changes:
- added new .autorequire property to CdistObject to keep track of implicit autorequire dependencies
- Emulator appends implicit requirements to this .autorequire property
- DependencyResolver preprocess these .autorequire properties before resolving normal dependencies
- refactored and documented DependencyResolver so it's clearer what happens and easier to use from tests
- update test cases to match new DependencyResolver behaviour
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>