Added tests for set class and fixed to support multiple sets.
Added method for adding multiple items to a Set.
Added logic for joining invalid polygons to meet constraints.
Improved visualisation to show final polygons and original edges before constraints. Cleanup.
Merge branch 'feature/constraints' of https://github.com/Urbanetic/subdiv into feature/constraints

* 'feature/constraints' of https://github.com/Urbanetic/subdiv:
  Added logic for joining invalid polygons to meet constraints.

Conflicts:
	src/SubDiv.js
Fixed bugs with subdividing the quad with edges. Added scale() and getCentroid() and clone() methods to Edge. Added Edge tests.
Fixed bugs causing infinite loops.
Added a check to prevent the combining of polygons from overlapping an existing polygon. Still WIP.
Added edge methods for gradient, y value, y intersept, domain check, whether a point is contained and whether an edge overlaps. Added selection for visualisation which prints the polygon points in the console. Added checks for whether a polygon overlaps or is on the perimeter of another.
Added support for sensitivity when determining contains(), overlaps() for Edges and overlaps() and isOnPerimeter() for Polygons. Fixed checks in SubDiv.
Added method to show valid and invalid polygon. Fixed overlaps to ensure it doesn't detect fully contained polygons. Refactored logic for combining invalid polygons to ensure they are combined with valid polygons.
Cleanup.
Added an example using the distributed package.
Merge branch 'feature/constraints' into develop