Purely AtomSpace-based PLN history system

It records inference history in the AtomSpace, and can record inference history and check for repeats/cycles without using confusing custom data structures.
It also tells you the complete inference history (i.e. what rule was used to produce which atoms), unlike the previous system (this also eliminates the "trail printing bug")

And add some PLN algorithmic documentation.