Much better algorithm to print the causes of actions

It is passed the user-specified packages, and tries to deduce the reason
for all actions from there by propagating in the action graph
Merge pull request #1174 from OCamlPro/better-action-causes

Much better algorithm to print the causes of actions