Add some more JSHint markup and fix exception ordering
Support for authorization identity

When using SASL authentication one can provide so called authorization
identity. It can be used to act as another user while providing
credentials of another account (for example admin accout). It is
rarely used or supported. This commit adds ability to provide
authorization identity when connecting and supports all of the SASL
methods present in JSJaC.

Closes #58