Split unhangout-server.js into 7 files

This is a MAJOR refactor -- it touches basically every part of lib/ and
most of test/.  Split lib/unhangout-server.js into 7 files:

  - lib/unhangout-server.js: http, express, middleware, and lifecycle
  - lib/unhangout-db.js: Redis, backbone collections
  - lib/unhangout-sockets.js: Sockjs server and client management, and
    routing socket messages. (Does not incorporate room-manager yet).
  - lib/unhangout-routes.js: unhangout HTTP routes (via express)
  - lib/permalink-routes.js: permalink HTTP routes (via express)
  - lib/redirect-https.js: HTTP redirect server
  - lib/utils.js: common utilities and middleware.

The unhangout-server object no longer has references to redis, events,
users, and permalinkSessions -- instead, it has a reference to an
UnhangoutDb object (server.db) which holds those.

Given the magnitude of this changeset, it's worth some thorough manual
testing before pulling.  It passes the test suite, but coverage could be
better.