XML, JSON, Markdown and Indentation

Three languages, one (XML) comes from another pull-request, and two I wrote and have tested myself.

Indentation is incorrect in `rainbow.js` so I corrected that. Also, String matching for PHP which does not exist currently... :/

There are more coming soon I guess, also tests exists for JSON, and Markdown. When I find time I will add XML tests.