Consider consolidating raster modules
It may be desirable to have a single Raster object that could be toggled between read-only (user) and write-enabled (internal) modes using some internal method. For example, calling Raster._edit(), and then Raster._finalize() or something similar. This would be roughly analogous to the current calls to Raster.validate and Raster.output.
Ultimately though, this issue should probably not be approached until we are either finished, or working concurrently on #27 (closed)