Allow adding comments to directories in the code browser

Fixes #39.

Due to a different table id, top comments were not shown for directories
in the code browser. Change the `selectorToInsertBefore` to support both
files and directories.

The code browser supports keyboard shortcuts for navigating directories
which conflict with the add comment dialog, so now any keypresses within
the dialog will not be propagated to avoid this. Made the dialog modal
to reflect this.

Add whitespace to selector list.
Clarifed comment about why we do not propagate keydown events.
Merge pull request #41 from schwuk/comments_for_directories

Comments for directories
Send notifications when comments are created

Added a new interface - ICodeCommentChangeListener - to use for
notifications.

Added a new component - CodeCommentSystem - to act as the extension
point for the above interface. (This could have been added to one of the
other components, but I have plans for other refactorings and wanted a
clean base for them.)

Extended Comments.create() to trigger comment_created events.

Added a new component - CodeCommentChangeListener - to respond to
comment_created events.

Sub-classed trac.notification.NotifyEmail to generate notification
emails. Notifications are sent to the author of the resouce being
commented on, and anyone else who has commented on the same resource.
There is additional logic to determine who the notification should be
*sent* and *copied* to.

Added an option to control whether notifications are sent to the person
making the comment (off by default).

Removed unused variable.
Resolved #36 by providing instructions for building an egg locally.
Added notifications to README.
Extracted method to get real name from notify method.
Override NotifyEmail.send() so we can provide the from_name

No more swapping around of config values.
Removed entrypoints; using __init__ instead.
Clarified debug message for notification recipients.
Determine link to comment outside of template.
Removed superfluous debug logging of notification recipients.
Moved notification of change_listeners to a method on CodeCommentSystem
Moved logic for urls in notifications.