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 was my first thought too, but since `nid_key` is supposed to be the actual key (producing, eg. `{nid: nid, **data}` or `{id: nid, **data}`), it has to get wrapped in the braces.

Otherwise we get the literal `{nid_key: nid, **data}`.