WIP: Add more methods for working with the Global User Manager.

Refactor the ConnectionManager to store connections in a Hash instead
of an Array. This allows for faster lookup of pre-existing connection
id's when generating a unique connection id. This will be more useful
later when Redis contains a map of duplicate connections from the same
user.

Add UserManager#each and UserManager#map for working with the global
user collection. These methods yield a Connection object or a proxy
object which can be used to trigger events on the individual user
from within background jobs or the Rails console.
Explicitly typecast the user identifier to avoid deserialization issues.
Merge branch 'enhance_user_manager'