New, block based text field provides real-time input validation.

Has only been applied to the Address Book for right now. Plan to add to more after commit.

Committing for now to allow testing by other users.

What this commit changes:
* The /ignore and /unignore commands can no longer modify the Address Book directly. Instead, they open the window. This design decision was made to ensure the inputted values always met a specific format.
* The Address Book will now refuse to save any entries that aren’t properly formatted.
Comparisons should use the full string value.

However, -value still returns based on the first token boolean.
Ignore users need to be rebuilt for all channels, not just selected.
Add block based API to progress indicator for future use.
Block spaces
Define the actual characters allowed in a host mask address
Only consider reddit subreddit names valid links when strict matching is disabled
Stop committing code before reviewing
WebKit image orientation
IPv6