Enhancements to geotrellis-spark export

The major enhancement was to add the ability to export as a single tiff. The tiles are read from the raster and fed to core geotrellis's TileRaster which acts as a tile merger in this case. 

Other major changes:
1. Added RasterReader which implements an Iterable interface over the tiles. This is used by the Export as single tiff.
2. ArgWritable changes to properly handle the case where the underlying byte array (capacity) in BytesWritable is larger than its contents (size)
3. Added test infrastructure to give each test its own environment (directory) so that output files and such can go there, and be deleted after the test is run. This is basically a wrapper around scalatest's BeforeAndAfterAll
4. Added unit test for Ingest