Change default to to 1e-5. With Newton's method and float32's, bad things can happen with the old default of 1e-6 (it can overshoot and move on to infinity, or it can undershoot and get stuck in an infinite loop). 1e-5 seems fine. I'm not sure if there should be a warning if the tol is too low, or is it good enough to supply a good default.
Improve handling of infinities. Now it matches the paper, which has a proof of correctness.
The parser.py example now prints out the optimal loss, and includes a pre-training phase that makes the loss finite. The main training phase now uses Adam and converges much faster than before.