fixed clean up HypotheticalLinks when roll back.
Added isReversibleRule attribute to Rule.
When is subgoal is proved to be impossible, check if its forward rule is isReversibleRule , if it is, then it implies that its forward subgoal also impossible, need to roll back futher.
Added an option when It's able to achieve the goal without doing any action! Not need a plan!