Simplify characterCode lookup

Reduce String.fromCharCode that can’t be optimized by the minifier.
Combine single path conditional
Remove unused variable

It is only set to empty then passed
Update indexOf polyfill

Updated from the same source as the original comment. If IE8 isn’t
supported then this can be removed.
Add JSHint to Travis validation

Run before the install as it acts as a fast fail vs the gem install time
Add jshintignore for failing files
JSHint: Add strict comparisons to poll_ui.js
Firefox: Reuse same contenteditable <div> instead of creating a new one on paste.

This fixes the issue where every alternate paste from a different source
would not work because the content wasn't getting pasted into the
contenteditable div randomly.
Merge pull request #2093 from awesomerobot/master

making the mobile composer opaque, may prevent clicks from falling through
Merge pull request #2094 from vikhyat/firefox-paste-image

Fix Firefox image paste contenteditable hack
improve quick tips PM all new user copy
few more quick new user tips tweaks
Merge pull request #2092 from nschonni/jshinting

Jshinting during CI build
Add support for arrays to PluginStore
Merge pull request #2097 from ligthyear/pluginstore-array-support

add support for arrays to PluginStore
FIX: Link counter was broken for some https links
FIX: Don't increase link counts when they are in the thousands
Add `home` class to dropdown for categories
FIX: don't show option to flag with notify_user to trust level 0 users. they can't send private messages.
Add `bookmarked` class to bookmarks button. Also remove duplicated code,
use fewer observers.