Added additional exception classes

These classes should allow client users to better determine and react to errors.

Change-Id: Ie4a8c4a2f1ccadafeadabcf882a9e7eb50ffa54c