find singularities for any expression

As the note in the function indicates, `singularities` is
not trying to identify domain points, it is just identifying
values of `sym` that would set a denominator to zero. If strict
is False (default) then removable singularities are not reported:

1/(1/x - 1) is not defined for x in (0, 1) but only 1 is returned
with the default setting for `strict`.