Reduce use of the ($) operator.
Use strict text and bytestrings for everything.
Transition most remaining text storage to lazy 'Text'.
Use GNU IDN instead of 'text-icu' for Stringprep support.
Make 'JID' an instance of 'IsString'.
Fix a few stylistic issues found by HLint.
Merged public API into a single exposed module, 'Network.Protocol.XMPP'.
Updated copyright date in JID.hs
Started major refactoring effort, starting with proper stringprep support in JID.
Add functions for retrieving parts of a JID as strings.
Change JIDs to be unformatted when shown -- turns out using show for formatting was a dumb idea, because it would typecheck even if the value was no longer a JID.
Export the JID constructor.
Cleaned unused and duplicate imports, and added some type declarations.
Implemented enough parsing to get the list of stream features and SASL mechanisms.