Add support for singular knots

Also, make sure getPoincareFunction() doesn't explode