# Functions
ArgsParser will split a string by new words and quotes phrases.
CleanTag returns a clean tag, trimming whitespace and replacing invalid characters.
CreateSnippet returns a message snippet.
GetHTMLAttributeVal returns the value of an HTML Attribute, else an error.
InArray tests if a string is within an array.
IsDir returns whether a path is a directory.
IsFile returns whether a file exists and is readable.
ListUnsubscribeParser will attempt to parse a `List-Unsubscribe` header and return a slide of addresses (mail & URLs).
Normalize will remove any extra spaces, remove newlines, and trim leading and trailing spaces.
OverrideFromHeader scans a message for the From header and replaces it with a different email address.
Plural returns a singular or plural of a word together with the total.
PrepareSocket returns an error if an active socket file already exists.
RemoveMessageHeaders scans a message for headers, if found them removes them.
SetHTMLAttributeVal sets an attribute on a node.
SetMessageHeader scans a message for a header and updates its value if found.
SetTagCasing returns the slice of tags, title-casing if set.
UnixSocket returns a path and a FileMode if the address is in the format of unix:<path>:<permission>.
WalkHTML traverses the entire HTML tree and calls fn on each node.
# Variables
TagsTitleCase enforces TitleCase on all tags.