Do async RTC check properly (in the callback).

This prevents people from sending messages without allowing/denying the
camera permission thing, and pops up the sad browser page if they deny
it. We could probably do more to tell users to accept if they try to
submit without interacting with that permission request, but this at
least limits the amount of tapebros.

This requires 1.4.3+ of webrtc2images to work properly.
Be more permissive of fingerprint length, since this can come from mobile clients too.
Emit leveldb key as 'id' with all messages
Merge pull request #60 from jasonrhodes/add-id

Add level key as id property for onMessage payload