Changed call to diff, now is using process_create, to allow usage of with_output_to/2 predicate
Improved gcb algorithm, note that the list of unifiers can contain
lost bindings between Term and Into, so the usage of unifier/3 does
not ensurage equal results.
Added more tests
This change will fix several bugs, now expand_goal also works with
dgc, using Unifier (new argument in gcb).  Some of the new tests have
to do with this patch.