Upgrade PHP Markdown and split out Vanilla Markdown customizations

This upgrades the PHP Markdown library to the latest version - 1.4.1, which supports fenced code blocks and other goodies. It retains the customizations made to the previous version: the spoiler tag (see also #2137) and `class="Quote"` on quotes, but splits these customizations out into `library/core/class.markdown.php`. This way, the content in `library/vendors/PHPMarkdown` can be swapped out for a new version without having to reapply the customizations, assuming things don't change too drastically.

There was an additional customization - ["Format code as a block if there is at least one"](https://github.com/vanilla/vanilla/commit/36bbc029f27a6db26eb767839a255a18ad8d6e9b#diff-36ebc0923b4e50b27d062f60f5682660) that appears to have been rendered unnecessary in this version of PHP Markdown.

PHP Markdown requires PHP 5.3, which makes this unsuitable for 2.1, which [requires only 5.2](http://vanillaforums.org/docs/installation-requirements), but should be OK for 2.3, which [requires 5.4](https://github.com/vanilla/vanilla/issues/2021).

I've applied this [in my 2.1 forum](https://greasyfork.org/forum/discussion/1566/markdown-in-the-forum) and things are working good so far. I've also tested on the latest from master.

Some test code:

    >! Spoiler
    
    ```css
    fenced { code: block}
    ```
    
    > Quote