Added pseudocode-like comments for the main planner process.
Added interfaces for adding / checking variables binding histories to a state nodes
Added score calculation for selecting suitable rule for the current planning step
Added function: check if a rule is a resursive rule
Implemented Ground variables for a rule according to its forward state node
Added the framework for cost as heuristics inherited from the parents in one planning step.
Fixed some real-time inquery value for states for real time cost calculation
Merge pull request #165 from shujingke/shujing

Shujing
Merge pull request #166 from linas/moses

Moses bug fix
python: avoid crash on double module load.
fix module unloading bug
A more robust module loading/unloading solution

The use of path names in module names screwed everything up.
Just don't use the path name as a part of the module name.
oops, one more module path fix.
Fix the module loading paths

At some point in time, someone somewhere changed how module loading
works. As a result, this test broke.  No one noticed.   This happened
half-a-decade ago, since I already had to add an identical fix to
many other unit tests, as well as to the embodiment code.  Not clear
why module loading got so screwed up ... and no one fixed it before ...
Re-enable python unit tests.

They now work for me. They failed only due to module load-path bugs.
Someone had changed how module loading worked; this broke the python test.