Add open_raster function for multiple band data.

Note that this has not been rigorously tested and probably won't
work even in the simplest of cases.
Add some rudimentary error handling to open_raster and write_raster

An error in opening the dataset (say a mistyped input string) will
now kill the opening process before it tries to open the raster and
get metadata. Likewise, an error in write_raster will kill the
process and neatly report to you where it had trouble.
Revert "Add open_raster function for multiple band data."

This reverts commit 6c86fb4493dfe91acb769d34c44963af9c77d60e.
Merge branch 'error_handle'

If an error was thrown during the open_raster procedure, the procedure
kept going with a null pointer to the dataset. This commit basically
handles the errors and kills the procedure if necessary.
Fix some silly typos