Abstract Contour Matcher and OpenCV SIFT implementation

Experimenting with OpenCV library for comparing our contours. I wanted to include an abstract base class to make adding different implementations of algorithms for finding commonalities between contours work in some common format to encourage uniformity.