Support single redis DB.
Locate the Puma config file.
Update puma.rb
Add Global Keyboard Shortcuts

Not all of these have been fully implemented yet.

**Jump To**
* `g` then `h` - Home (Latest)
* `g` then `l` - Latest
* `g` then `n` - New
* `g` then `u` - Unread
* `g` then `f` - Favorited
* `g` then `c` - Categories List

**Navigation**
* `u` - Back to topic list
* `k` / `j` - Newer/Older conversation or post
* `o` or `Enter` - Open selected conversation
* <code>`</code> - Go to next section
* `~` - Go to previous section

**Application**
* `c` - Create a new topic
* `n` - Open notifications menu
* `/` - Search
* `?` - Open keyboard shortcut help

**Actions**
* `f` - Favorite topic
* `s` - Share topic
* `<Shift>` + `s` - Share selected post
* `r` - Reply to topic
* `<Shift>` + `r` - Reply to selected post
* `l` - Like selected post
* `!` - Flag selected post
* `b` - Bookmark selected post
* `e` - Edit selected post
* `d` - Delete selected post
* `m` then `m` - Mark topic as muted
* `m` then `r` - Mark topic as regular
* `m` then `t` - Mark topic as tracking
* `m` then `w` - Mark topic as watching
Add a few extra ProxyPass calls

These avoid a lot of 404 errors, and things like the style editor not working because the browser can't reach scripts, etc.
add spec to demo blanking props
Discourse as a Mailing List improvements

FEATURE: context is not emailed if we previously emailed you the post
FEATURE: site setting to enable_watch_new_topics , false by default.
  When enables users can elect to watch everything by default
FIX: Custom email subjects (x quoted you in [title], x replied to [title])
  was removed, this broke email grouping. TBD, include info in footer somehow
FIX: topic user specs were messy, reduce side effects
remove "host" so it uses sockets by default, easier to configure
FEATURE: backport a minimal String#scrub
BUGFIX: invalid byte sequence in email would explode all processing
BUGFIX: invalid referer would cause 500 errors
speed up bench add param for iterations
BUGFIX: fix username breakup so it works with IE
FEATURE: breakup username based on name as well
PERF: speed up breakUp

breakUp function is complicated now, add a capped memoizer to ensure it runs a lot less.
appease jshint
Support for dry runs when importing via Disqus, replacing text, foreign accents
Upgrade JSHint. Fixes linting issues.
FEATURE: the top tab is the default for new users
Enable JSHINT's `unused` option. It caught a bunch of suspicious stuff which is fixed in this commit.
FEATURE: display the Top tab by default for long-time-no-see users
Upgrade JSHint to master + my fix for `tokens.hasOwnProperty`