document keyboard shortcut to add site/folder
Phase 2: switching to using story_hash index instead of compound unique story_feed_id/story_guid index.
Increase file descriptor limits with fabric.
removing dependency to dop.client for common fab tasks
Merge branch 'master' of git://github.com/samuelclay/NewsBlur
Adding X-server to headers to figure out request pinning.
Merge pull request #96 from frac/master

Remove dependency to dop.client
Activating premiums immediately for stripe users.
Adding new task servers.
Merge branch 'master' into story_hash_2

# By Samuel Clay (70) and adriano petrich (1)
# Via Samuel Clay (3) and adriano petrich (1)
* master: (71 commits)
  Adding new task servers.
  Activating premiums immediately for stripe users.
  Adding X-server to headers to figure out request pinning.
  removing dependency to dop.client for common fab tasks
  Increase file descriptor limits with fabric.
  Opening up gunicorn for use by HAProxy directly.
  Naively connecting to real-time socket.io.
  Preventing socket.io buildups.
  Rewriting HAProxy config to include gunicorn and maintenance. Much better monitoring.
  Fixing HAProxy to use http headers so a 502 error code doesn't get served with a 200 status code. I mean seriously, WTF HAProxy?!
  Trying out a gunicorn haproxy backend.
  Re-upping 12 to 64 free feeds.
  Removing Redis state for socket.io. Too many open mongo connections.
  Referencing new secret hosts.
  Removing hosts.
  Adding dev hosts.
  Using new secrets repo instead of ignored files.
  Fixing homepage copy.
  Using redisstore for socketio.
  Forcing reconnection for socket.io.
  ...
Adding port handling for socket.io when not on www. Useful for dev and debugging.
Merge branch 'master' into story_hash_2

* master:
  Adding port handling for socket.io when not on www. Useful for dev and debugging.
Reducing page load logging to only abre essentials.
Cleaning double the analytics.
Fixing share bar for tons of sharers.
Fixing log for non-requests.
Double clicking the unread counts now marks a feed as read.
Make sure to send the proper content-type with social feeds
make fabfile.py use requirements.txt

The '$(<FILE)' syntax expands to a single line, separating the lines of FILE by
spaces. This works on recent shells (means: not dash, busybox sh).
For more backward compability one could use '$(cat FILE)' or even '`cat FILE`'.

The new requirement.txt includes all optional dependencies (taken straight from
fabfile.py) and misses gunicorn and psycopgs2, as those are installed
separately by fabric.
(Better getting fast 90% of packages and some superfluous ones than none at
all)
Fixed API docs for /reader/river_stories

read_filter on /reader/river_stories defaults to unread, however the parameter wasn't even documented before on this endpoint.