- Increased precision of trivial fails analysis, to consider calls to dynamic
  predicates to which a matching fact has never been asserted.

- Changed declaration_location/3--->/4, to store the head of the extra
  declaration, required for the new functionality of the trivial fail analysis.

- Minor optimizations, like using implementation_module/2 predicate.