Move the Legacy Parser Loop
This is the second time we're bringing this up, but the legacy parser loop should only be used for legacy codes or specialty codes (redirect, template, etc) when legacy codes are turned on.
We originally dropped this task from 2.1.0 because using the legacy parser loop used fewer server resources or resulted in faster page generation times on these smaller tag lists (containing, for example, only a single tag each - [redirect] or [template]), rather than vBulletin's BB-Code Parser loop.
However, the legacy loop is extremely hard to follow. The standard loop can be made at least as efficient by modifying the search terms in cases where the tag lists are very short. If there is only one tag, the search terms should be the opening and closing tags, not opening and closing brackets. This change, overall, should make the parser more intuitive, and allow us to shorten the special_class_bbcode.php file by moving the legacy function to its respective subclass.