Added basic support for in-band registration
Expand registration implementation

Updated registration to include N/A as text in elements requested by the server other than username and password
Merge branch 'registration'

Conflicts:
	client.go
Refactored SASL Implementation and moved it to sasl.go
Merge branch 'SASL'

Conflicts:
	client.go
Added a check if the server supports in-band registration.
Merge branch 'registration'