Remove parsePayload createClient option - up to client to set when it wants
Uniquify packet names across states
Allow listening on and sending packets by name; don't emit decoded packet events if payload not parsed
Allow passing packet name to createPacketBuffer()
createPacketBuffer() state optional, allows passing just packet name and params

Since packet names are now unique (across states, though not client/server),
the name infers the state so it can be omitted and looked up. For more convenient
API usage, example:

    createPacketBuffer('chat_message', {message: 'hi'})