Added Topics thumbnails support

#### probably needs more work, but that's my first iteration.

Turn it on in the ACP, it's OFF by default.
![screen shot 2014-02-20 at 1 18 34 am](https://f.cloud.github.com/assets/1398375/2215624/2c682cb4-99f7-11e3-9e41-f26137e1b930.png)

click the image icon to toggle the upload fields, which only shows up if there is an upload plugin installed AND allowTopicsThumbnail is turned on AND if (creating a New Topic OR editing a topic's Main post)
![screen shot 2014-02-20 at 12 30 05 am](https://f.cloud.github.com/assets/1398375/2215617/01821690-99f7-11e3-9f06-4d067250a561.png)

paste a url or select a file
![screen shot 2014-02-20 at 12 31 28 am](https://f.cloud.github.com/assets/1398375/2215619/0a582340-99f7-11e3-9b1b-18311cbd6708.png)

see the image in the category page, instead of the user picture, meh
![screen shot 2014-02-20 at 1 17 28 am](https://f.cloud.github.com/assets/1398375/2215621/148c5ca0-99f7-11e3-86b9-8adebc5f8112.png)

### General stuff worth mentioning:

* added new config setting `allowTopicsThumbnail`, configurable in the ACP under Settings > General
* Feature won't work without a Upload Plugin installed, such as [nodebb-plugin-imgur](https://www.npmjs.org/package/nodebb-plugin-imgur)
* I did this with as less (not Leaner CSS) CSS as I could, using mostly BS classes and such, however, I had to inline a small `<style>` block in composer.tpl, __which needs to be moved to the base theme__ I can pull request that in to the default theme, but i heard lavender is going to the default? or .. you can do it, either way, let me know, maybe you want to style it differently.
* the templates edited are the default ones, again not sure if theme-lavendre becoming default will break anything.
* I wasn't sure what to do with each `topic.thumb`, so for demo purposes, I just use that `topic.thumb` instead of the `user.picture` on the `/category/:id page` (using the `category.tpl` template)
* Drag and Drop not added yet due to some time constraints, but will be under popular demand, I would just need to refactor the already existing drag and drop in the composer to handle both inputs.
* I added some entries to the topics.json english language file, should I add them to all language files?

### Dev stuff worth mentioning

* Method signatures changed, along with the statement that uses them, even tests, i will modify the import plugin accordingly if this gets merged:
  - `Topics.create` now accepts a hash instead of multiple args
  - `Topics.post` now accepts a hash instead of multiple args
* added new POST api route `/topic/thumb/upload`, which will trigger the plugin imageUpload hook
* major changes are in the composer.js, don't be scared, I was mostly moving some functions around so it would make more sense, but I realized that's hard to diff, I tried not to touch existing functions as much, which means if I did, we could probably cut some redundant code out, but again, time constraints and didn't want to break anything.
* FormData, I used it, but I know that it doesn't work in IE8 and IE9, I should open an issue.
* I just found out about the [Widgets](https://github.com/designcreateplay/NodeBB/tree/Widgets) branch, I should've waited /facepalm
* I hope I didn't blow things up

@trvr u owe me a :beer: if this gets merged