It's WIP at its finest.

This time, I’ve added a whole slew of to-do things to my list; after
all, I’m not really on a schedule here (but I should be). Anyway,
here’s a list of the stuff found in this commit.

1. Beginning of work on the Articles parser.
Finally, I’ve started to do something with the articles system. I’ve
added the “placeholder” keyword, which allows all documentation to
exist within the file instead of fragmenting it between the
documentation and messages file. Also, it is now possible to check for
flags with the %if block.

2. The Language class.
I’m beginning work on a transition from MessageAssist to a combination
of MessageAssist and Articles. This allows both to be consolidated
under a single language.

3. A report.txt template for reports.
This’ll be worked on later, but we can use this to determine various
information about the server. It’ll be useful for community-active
server admins in reporting their issues.

4. Zero-length negative lookbehinds.
I decided to test the parser, but I found it to be massively broken,
especially in parsing backslashes. Thus, using the power of StackEdit,
I was able to find a regular expression to do the work of twenty lines
in five.

“It even sounds cool.” – Phil Schiller

5. Various bug-fixes.
Speaking of which, there were a few indices that were off in the
argument processors. Those have been fixed, and I think I finally
understand how substring(int, int)’s second int works. It still won’t
hurt to refresh my memory every once in a while, though.

Another bug that was fixed was the potential NPE encountered when using
the <tip> tag with the SpecialMessage parser. Now, the closing </tip>
tag will no longer throw a NullPointerException from ChatColor’s color
parser. Phew.

In other news, I seriously need to get to work. I’m browsing way too
much imgur / reddit to be considered healthy. I guess that’s what
happens here on the Internet, though.