Issue-17: arbitrary data in presence values

Squashed commit of the following:

commit 26573502ea2ea22a3f1ffb39a931b24981db2a35
Author: Sam Shull <sshull@zendesk.com>
Date:   Tue Aug 27 11:11:22 2013 -0700

    Fix method signature inconsistencies

    - Use (userId, userType, userData) more consistently
    - Use Date.now() whenever applicable

commit 7459757dd93efb5e67bf54e45fc414cb3abdb39c
Author: Sam Shull <sshull@zendesk.com>
Date:   Mon Aug 26 10:10:23 2013 -0700

    Misordered arguments

commit 50f4c00484ba47143cc8609ed72d44903647419c
Author: Sam Shull <sshull@zendesk.com>
Date:   Wed Aug 21 13:30:15 2013 -0700

    Issue #17: add userData to presence

    Add the ability to store userData from each presence.

    closes #17

commit 66f13ae7215332c50b5db2277faad74ed2806662
Author: Sam Shull <sshull@zendesk.com>
Date:   Mon Aug 12 15:57:38 2013 -0700

    Issue #17: arbitrary data in presence values

    Store the property 'userData' from an incoming set operation on the
    presence object for that client and use that value as the result for a
    client key's value in the response for a get operation.

    closes #17