RUBY-791: SCRAM-SHA-1 Authentication

This is the SCRAM-SHA-1 implementation for the 2.0 driver.

Note this now adds one more external dependency on Krypt: https://github.com/krypt/krypt

JRuby's internal implementations of PKCS5 already use krypt and their core implementation was wrong... By introducing this on MRI we're exactly the same on both platforms with no crazy code branches.

cc/ @behackett