Scroll chat only when user hasn't scrolled up

Window will scroll to the bottom only if it is already scrolled to the
bottom, or the user sends a message themselves.  Fixes issue #209.

Tests are incomplete on this feature until we refactor passport mocks to
support multiple users, to test the functionality when a second user
sends a message.
Merge branch 'master' of https://github.com/drewww/unhangout into chatscroll
Correct the comment.
Fix crash on event creation, add tests

Fixes issue #218, adds selenium test for admin event creation workflow.
add semicolons
Refactor mock authentication to support multi-user

Previously, auth mocking for tests worked by passing two options to the
server ("mock-auth" and "mock-auth-admin"), which influenced a number of
branches to change initialization and auth handling throughout the
server routine.

Replace all of this with a single "mockAuth" middleware, which is
installed prior to all other authentication middleware, and looks for
either an "x-mock-auth" HTTP header or "mock_auth" cookie in incoming
requests, which specifies a key for an authenticating user.  This
enables us to choose which user to mock-authenticate on a per-request
basis.  When using ``superagent`` or other raw HTTP requests, we can set
an HTTP header.  When using selenium, we can execute javascript on the
browser to set a cookie.

Since we now have multiple users, we can do away with the distinction
between "standardSetup" and "mockSetup" with admin status -- when you
want to mock an authenticated user, specify the header or cookie. When
you want to mock an admin, just make sure the mock user is an admin
(mock users are defined in lib/passport-mock).  When you want
unauthenticated requests, omit the header and cookie.
Merge branch 'chatscroll' into multi-user-mocks
Fix cookie-based mocks; adapt chat test for it
Merge branch 'event-blur-bugfix' into multi-user-mocks
Adapt create_event test for cookie-based mock auth
Email error logging; transports set with NODE_ENV

Refactor the loging configuration into a single file,
``lib/logging.js``, which can be required by any module that wants the
standard logging configuration.  This eliminates the need for
``unhangout-server`` to hold a public reference to the logger and assign
it to other components, and removes the many invocations of

Eliminate the logging transport and level options sent to
unhangout-server's ``init``.  Instead, use the NODE_ENV environment
variable to determine transport and level options.  Use the following
NODE_ENV conventions:

  - NODE_ENV=production : log to file at level INFO, and send emails on error.
  - NODE_ENV=testing : log at level CRIT to console.
  - else: log at level DEBUG to console.

``npm test`` now invokes ``NODE_ENV=testing mocha``; invoking mocha
directly without setting the ``NODE_ENV`` will result in default console
logging during tests.  In production, the NODE_ENV=production
environment var must be set to configure logging properly.
Fix conflicts merging email-logging
Loosen chat-scroll limit; add multi-user chat test
Merge pull request #222 from yourcelf/multi-user-mocks

Multi user mocks (as well as the 3 other pull requests)