Code refactor

Hey guys, so I refactored all the code into what I think is a much more legible form. I also tweaked the build process and determined the differences between vanilla OpenSURF and our version. They are as follows:
	- ipoint.h and ipoint.cpp added support for MatchesVec
	- surf.h, surf.cpp, surflib.h 
		- changes to support contour functions
	- fasthessian.h, fasthessian.cpp
		- new constructor and supporting functions
	- ContourMat.h, ContourMat.cpp
		- added this class to store a contour matrix, vector of booleans
	- fasthessian needed an ifdef clause for responselayer