add intersects

adds the following:

`LineString.intersects(LineString)`, `LineString.intersects(MultiLineString)`, `LineString.intersects(Polygon)`, `LineString.intersects(MultiPolygon)`, `LineString.intersects(Circle)`

`MultiLineString.intersects(LineString)`, `MultiLineString.intersects(MultiLineString)`, `MultiLineString.intersects(Polygon)`, `MultiLineString.intersects(MultiPolygon)`, `MultiLineString.intersects(Circle)`

`Polygon.intersects(...)`, `MultiPolygon.intersects(...)`, `Circle.intersects(...)`

and tests and docs.