Add extra_data support to all comment types.

FileAttachmentComment had an extra_data field and API support for
setting it, which was handy, but this can be handy for other comment
types as well.

This support now exists in BaseComment, and all comment REST API support
has been updated to allow getting and setting it.

While I was at it, I moved some of the common field definitions into
BaseCommentResource, instead of duplicating it in the other base comment
subclasses.