Have VW's QT search behave like ASP's

This means that QT_ARBITRARY_MODULES will need to apply their own
prefix of Qt. It also means that if the user needs to add per module
library link flags, they'll have to do it themselves with the
PKG_ARBITRARY_QT_LIBS option.

The previous form of QT_ARBITRARY was not OSX safe since it always
applied -lQt<MODULE> for every module, even when the user specified a
framework to be linked againsted.
stereo: template UniversalFunc and added Vec4 option

Vec4 is for a point plus it's error.
Photometry changes

* But fixes for tiling
* Use less memory
Merge branch 'master' of https://github.com/visionworkbench/visionworkbench
Merge pull request #22 from khusmann/master

moved grow_bbox_to_int
Math: Fix grow_bbox_to_int to handle float max() correctly

The correct solution is to use floor+1 instead of ceil. Otherwise the
output bbox will not contain the max values of the floating point
bbox. I've added unit tests to prove this point.

This also adds a smarter grow_bbox_to_int that does not cast to double.
cartography: Have spherical datum's inv flatten written as zero

The OpenGIS Implementation Specification: Coordinate Transformation
Services 12.3.10.2 states that for spherical datums, the inverse
flattening must be written as zero. ArcGIS and common WKT projection
strings seem to be following this. There was also a user
outcry. Mooot.

There is also some formatting fixing in here.
math: Added exp, log, log10, cosh, sinh, tanh to Vector

This also makes a nicer looking header that uses a macro and defines
the type for both VectorBase and VectorTranspose.
Image: Allow Translate and Resample Tx to accept vectors

Just less code else where.
Stereo: Fix mutex jam in SubpixelView

get_disparity_range pokes an image to death for calculating range
stats. We feed it a ImageViewRef and thus get_disparity_range hit a
mutex everytime it wanted a pixel because it hit direct cache. The
correct solution is to immediately render our desired chunks of memory
into the heap. Our cache is slow and does handle lots of theads poking
it to death.
Photometry: Make compile after changes in cartography

DemToPoint no longer exists and has been replaced with dem_to_geodetic.
Photometry:

Use less memory
stereo: Avoid copy of pyramid in PyramidCorrelator

Std::Vector was being passed by value. The image view's underneath
might have been smart and not copied. It's a toss up.
stereo: Delay rasterization of input images, pass lazy views

I'm using more lazy views so that the code has a chance to do less
rasterizations and thus use less memory. This code is a memory hog but
I don't think my changes have made much of a difference as most of the
blame is in the prefilters.
stereo: Delete all references to 'corr_score'

It seems to be the remnants of an unimplemented feature. Or possibly
one of the developers confused corr_score with the cross_correlation
threshold. Anyways, that's one less thing to type in the constructor.
stereo: Drop use of ImageViewRef in CorrelatorView

ImageViewRef shouldn't be used inside ImageView, it's an unnecessary
cost in speed.
ipfind: Add a no orientation option

This option is useful in the event that you already have aligned images.
stereo: Fix disparity masking in Pyramid correlation

There are primarily 2 things.

1.) Using edge_mask one the disparity masks limits the size of the
valid data that could be correlated. It's over constraining and
deletes wedges of data. I think the original author meant only to
remove data that was near the boundary of an image tile and not the
actual image itself. The commit replaces edge_mask with just a half
kernel masking from the image tile.

2.) Wrote a new subsample mask by 2. This one is a little cleaner with
memory access. It also allows the output to create a valid pixel if at
least 2 of the input are good. Previously we required that all input
pixels be good in order to make the output valid. That had the side
effect of making the mask slowly shrink as we continually subsampled.
stereo: Fix out of bounds access in new disparity_mask subsample

It needed a zero edge extension on the input.
stereo: Replace edge masking with average color in nodata.

It appears the edge masking was required to get good results along an
edge of an image where it meets the black of nodata. This commit still
removes the edge masking but replaces the nodata portion with a mean
color. This produces the same high quality of edge masking but still
allows us to process those final slivers of data. The slivers I'm
speaking of is a product of a map projected image and a tile boundary,
where the cut is in such a way that the tile is only fille maybe 30%
with real data.