Implement SASL stuffz

- Implements Kerberos authentication over SASL
- PLAIN over SASL

No clue how we can test this as it requires external mongodb server, and kerberos ticket before running the test.