Improve handling of planner failures

The planner now reports Either an exhaustive list of failed moves
  or a list of successful plans.  When we find a plan, we forget
  the failures and begin accumulating succeses.
Add --dump-failed-plans to facilitate debugging
Report a user program error if a rule fails to have an initializer,
  partially addressing github nwf/dyna#5 .