Initial go at an NTLM Client that will do session signing/sealing

There is some duplication between `Net::NTLM` and `Net::NTLM::Client::Session` but it was necessary to decouple some of the processing without effecting how `Net::NTLM` is being used for legacy purposes. Maybe we can rectify some of this in a 2.0 release.

CC: @pmorton This is required in order to get _Negotiate_ session encryption working for **WinRM**.
`pack("Q")` will be wrong on big endian systems. This should be `NTLM.pack_int64le(rand(MAX64))`