add repr method to metadata
geometry changes:

    - point equality now checks data and properties
    - results of Line.remove_vertex and Line.extend maintain data fields
    - Line.add_vertex, Line.extend, and Line.remove_vertex all return self
shift and rotate operations return self
add Line.extend and Line.remove_vertex tests
make tests easier to read by getting rid of vector.guppy and vector.metadata prefixes
add metadata __setitem__ method

also do field checking on Metadata.getfield
Multipoint.__eq__ now checks metadata

also, improved Multipoint.__setitem__ to handle metadata and add a test