- Add error checking and new exceptions extended from `PresenceError`
- Passing an invalid activity object now raises `ActivityError` instead of silently ignoring the error
- Using an invalid client ID now raises `ClientIDError` instead of a generic `PresenceError` message
- Raise `ConnectionAbortedError` if Discord closes the connection unexpectedly; previously, this would cause the program to enter an infinite loop
- Raise `FileNotFoundError` instead of `PresenceError` if a socket cannot be found locally