Branching a single topic creates a duplicate TOC entry

If there's no space between the bullet point and the start of the topic parser function in a TOC, if you then branch that topic, a duplicate topic will be added to the end of the TOC.

To fix this, we've refactored all the regexes to match the topic parser function into a single method of the PonyDocsTopic class.

There's also more obligatory code convention refactor here, as we work towards getting all the code to reflect MW code conventions.