Allow None line number in the doctest runner

This will happen if you set __test__.  Because the real line number cannot be
known, but it has to be some kind of number, we just use nan.
Allow Predicate documentation to be doctested

Currently, this uses the __test__ capability of the doctester, but ideally it
would be done better than this, because this makes it look like the doctest is
coming from assume.py instead of ask.py, and there is no way to get the line
number of the failing doctest.  But this will work for now.
Add a doctest for Q.is_zero