Cleanup client utils

I split up `utils.py` into different files and placed them in a `utils/` directory. I also cleaned some lint errors in other parts of the client.
Ideally the first and third. My reasoning as to why the former is impossible (for now) is that if we know that something is causing an error, then we can just fix the bug in the client. As the client gets more complicated though, I think OkExceptions should be used for that as well.