allow creation of empty Multipoint instances
Add first version of Multipoint.near() method

Multipoint.near() finds all member vertices (and data) within a threshold
distances of a provided point, where points is a guppy.Point or similar object
with a *.vertex attribute.

Along with .near(), this commit adds ._distance_to() and ._subset() private
functions. These replicate some existing code, which should be migrated to the
new methods in the future.