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.
Oh oops, I completely missed the part where `nid_key` was an identifier and not a string.