feat(API): Default to using exception.handle in API.add_error_handler

This patch makes the "handler" param optional and defaults to using
a handler that is defined within the exception class itself. The
thinking is that this will encourage a good pattern in that the code
to handle a given error, and the error itself, are defined in the
same place (high cohesion).
chore(util.uri): Remove unused globals
chore: Bump version to RC3 and bring CHANGES up to date