CONCEPTUAL: Support custom config of Highlight language support

Map a Controller to /javascript/highlight.js so we can dynamically
return a highligh.js version based on configured language support.

Configuration of Highlight can be found under Admin > Settings > Highlight.

*DO NOT PULL UPSTREAM*

Would this approach be something to consider for custom language support in highlight configured via Discourse admin settings? With this it's up to the admin to choose specifically which of the n languages to support. 

![screenshot from 2014-10-25 19 45 54](https://cloud.githubusercontent.com/assets/132158/4780579/fc842bde-5c6e-11e4-8d87-d3bcd22b2c54.png)


Missing currently: 
* Some sort of caching of the dynamically generated/joined highlight.js file in the controller?
* Compression of the new highlight.js parts: highlight.js + languages
   * Currently require custom source build of highlight.js
> You are going to need some sort of hash or global version number so you can set expiry to forever

Was thinking of using `SiteSetting.enabled_languages.split('|').sort.join('|')` as a etag key and storing the generate_highlight result in cache to avoid regenerating per request.

But had some issues getting the request to return anything beyond `Cache-Control: no-store, must-revalidate, private, max-age=0`. I'm a Rails n00b so.. I'll have a look at the avatar parts.

> You should use sendfile to ship this.

Hmm, not following here. Unless I store the dynamically generated file on disk(?) somewhere, I'm not sure how sendfile would help?

> You should handle concurrency here, ideally.

My thought was that if it 'eventually' ends up in Cache, it doesn't really matter if it's generated a few times first. (as oppose to some kinda blocking-the-world until done)