Add get_users method and extract duplicated request code

Hey Hamza!

I did a few things:
- pulled the actual request code into a separate method (`request()`), where before there was some repetition of setting up and making the requests.post() call
- same thing with the auth/login check, so the error behaviour/message is only defined in one place (`_check_authenticated()`)
- added a method to get specific user(s)
- edited the `get()` method to request the Piazza endpoint named "content.get", instead of "get.content", because that's what I see when watching the request in Chrome's dev tools

I think I've used the same coding style, let me know what you think! Sorry for the complicated pull.
That goes for all of the other methods in which the check is doubly done as well.