Add SaveException and Error classes

* Modified Mapper::Save so that it catches the client's SaveException
* Added Mapper::checkResult method which throws a SaveException if there are errors