fix problem initializing multipoint from 0 or 1 Point instances (now it's allowed)
make intersection code robust to machine precision
fix intersection issues on vertical lines

additional changes:

- rename _vecgeo.intersections -> _vecgeo.intersection
- remove _vecgeo.intersects method because it's not really much moe efficient
  than _vecgeo.intersection
allow empty multipoint metadata, add test
polygon subsets are lines, and add any_within_poly() as inverse of contains()