ExceptionMapper will now traverse object graph looking for message

- traverse the mapped exception graph looking for a mapped message
- use __class__ instead of type() to perform message lookup
- added test cases around the ExceptionMapper