Added back code block language detection and support.

- With the new macro setting/detection, code block detection was easier to implement.
- More languages are recognized: c#, html, javascript, shell, sql, and xml.
- A code block without any options or an unrecognized language is now identified as "markup.raw" so all syntax highlighting and completions are turned off.