exceptions: inherit from rather than overwrite old exceptions

This caused some issues because we'd end up making a new class for
exceptions which had multiple mappings to them thus making some except
clauses fail despite the name of the exceptions remaining the same. The
new behavior is to dynamically inherit from the existing default
category.

Change-Id: Icc08c5fd6e6dcc51c85ba02a51d343cd53fcecdd
Reviewed-on: http://review.couchbase.org/37081
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Volker Mische <volker.mische@gmail.com>