Add the Key and Relay guid already exists specific exceptions

@frett I'd like to be able to distinguish between a general `UserException` and one where the guid already exists.
I also packaged the exceptions for neatness sake.