Named Listeners

As the first part of enabling #768, we need a way to label each Listener with a scoped name. By itself, this first PR is fairly useless (no way to access the ID), but I want to work on this in bite-sized chunks.

I've updated the documentation to show that you can (and should) specify an ID for all Listeners. Once this gets merged and the RBAC module is created, I'll do a pass over hubot-scripts and file a bunch of PRs for adding Listener IDs and default Permissions.
`null` might be better since it indicates it doesn't exist. `listener.id?` would still work.