Extract the get_relevant_facts fixed point finder, fix it to be correct

Previously it wasn't really finding the fixed point. Now it does the right
thing.
Simplify some logic
Add fact x and y positive implies x + y nonzero to newask

Also add a test that uses several levels of forward chaining.