HTTPS support

By all means, please read the [http://tools.ietf.org/html/rfc5246#section-7.4.1](RFC) and make sure I didn't let something slip. I wrote this code in a way to make it fail as much as possible and ONLY pass if the packet is valid. It's not possible to get an index out of bound exception because accessing elements out of bounds returns `undefined` and I'm using the Javascript `slice` method to access the SNI Name. An important check you just made me realize is missing is to make sure the SNI Name's length and sniNameLength match. Thanks for that!

And again, please read the RFC and make sure I didn't let an edge case go through.