Cleaning up forecast fetching logic.

WORK IN PROGRESS

Cleaning up the forecast fetching logic.  The most significant difference here is that the resulting queries will (soon) return the smallest forecast grid that full contains the requested bounding box, where before it was returning the largest grid that fit within the bounding box.