add test for compliance

Adds a test that runs through all the algorithms provided and check they behave the same way as the standard implementation. Assumes that all algorithms are provided as functions set as properties on the main intersect function exported in the module.

Might be worth adding an additional test to this fixture to ensure that the the standard implementation continues to function the same way it does now, in case future changes cause a heisenbug for anyone depending on the behavior intersect provides right now.

Addresses #5