Removed optional tolerance argument from relations

Will add a toPrecision method to Geometry
Added MultiPoint, MultiLinestring and MultiPolygon classes
and a MultiGeometry interface
Large amount of refactoring

Added class defns for multi_linestring and multi_polygon
Removed tolerance arguments from Bounds relations
Removed Geometry.equalTo and notEqualTo methods in anticipation
    of adding a simplify(precision) method

Began a long processing of cleaning up and refactoring
tests, as they were getting rather untidy.
All classes will now be tested with some standard union, intersection
and difference tests, in addition to any defined in the test file

Defined some common matchers and sorted std_tests into groups.

Unit tests for Point and Bounds are passing, most other tests will fail
until test refactoring is completed.
Continued test refactoring

Consolidated relation tests into test/src/geometry/relation_tests.dart
Updated bentley_ottman.dart to reflect removal of tolerance arguments
from Geometry interface and removal of equalTo method

Added some standard relation tests for linesegment
Most unit tests pass for point and linesegment, the remainder will
rely on:
   finishing implementation of linesegment.union
   updating Linestring and Tessel to reflect refactoring
Additions to linestring and multipolygon

Removed GeometryCollection.intersects implementation
Point and MultiPoint now passing all unit tests

Added MultiPoint relation tests
All multipoint unit tests passing (again)
More refactoring

LineSegment now passing all unit tests again, except for one, which
depends on the implementation of MultiLineString.encloses.

Added isNull, isNotNull methods to utils, just to clean up the
Iterable.where((i) => i != null) operations everywhere

Geometries of the same type (Nodal, Linear, Planar, Multi) are now
expected to compare equal to other geometries of the same type.
hashCodes should also be equal

Renamed 'GeometryList' to MultiGeometry and it now inherits from Multi
and does not mixin ListMixin

Possible other changes I've forgotten about. Once this refactoring is
complete, I really need to make smaller checkins. The API is highly
fluid at the moment, so I'm not fussed about it and all unit tests are
broken anyway.