Merge pull request #63 from smichr/pr

modify Mul.is_infinite to watch for NaN
raise errors on badly formatted assumptions

Errors are raised if there are not spaces around
& and | or if there *is* a space after '!'. This inflexibility
enforces readability on the input strings.