Create MosaicResampler class

MosaicResampler is a tool for resampling full-sized mosaics, while
matching mosaics pixel-for-pixel. Also handles noise map propagation.

The resampled mosaics are saved to the MosaicDB.
MosaicResampler accepts an external target_fits for WCS defn
Using mosaicdb now optional for MosaicResampler

1. In init, a mosaicdb is an optional argument (changes argument
   ordering)
2. Instead of adding mosaics from a MosaicDB, can add mosaics directly
   from paths. Noise and weight paths are optional.
3. If a mosaicdb is not set, then the mosaic documents (dicts) are
   returned after resampling.
Refactor logic for using a target fits image in resampler
Add API docs for resampler module