StereoSettings: minor cleanup
stereo_corr: Consolidate with stereo_corr_sub

The executable stereo_corr and stereo_corr_sub were sharing a good chunk of code. Where they diferred, stereo_corr_sub was not doing the right thing, it was computing D_sub even if the user explicitely asked not to.

I integrated them into one single function.

Long term, stereo_corr_sub may not be needed at all, one could just call stereo_corr with a flag saying --compute-lowres-disparity-only
core: Refactor tri_and_alt_ip_filtering into .cc file

This also removes a couple headers from InterestPointMatching.h like
Datum.h StereoModel.h and GaussianClustering.h. I'm pretty happy with
that, maybe compilation times will drop a little bit.
core: Refactor and improve IP detection code

This code introduces a few new things.

* We now do forward and backward IP matching. (Improved reliability
  and order of input images shouldn't matter anymore)

* We now match only points that agree with the epipolar line.

* Our filtering now treats Altitude and Triangulation as independent
  variables. Altitude will switch itself off in the event that it
  doesn't see 2 distributions.

Ultimately this gives us a higher success rate when processing HiRISE
images. My hope is that it transfers well over to Earth.
docs: Fix typo for fill-holes-max-size