Created features to get candidate lists
- revised the "adjacent point" algorithm so that it returns fewer points
- revised the candidate list #each method so that it allows nested enumeration
- added lots of tests to confirm these things