Comment moderation backend

This includes the flag/unflag endpoints for use by the plot detail page as well as the moderation endpoints for hiding, archiving, and flag clearing.

I chose to create an EnhancedThreadedCommentFlag model because the built-in CommentFlag does not support hiding, and I though having our doubly-inherited comment model link back to another inherited model would be too confusing, or perhaps impossible

I changed the base comment moderation endpoint because I made endpoints for flag and unflag and these look most natural as:

    POST /{instance}/comments/{comment_id}/flag/
    POST /{instance}/comments/{comment_id}/unflag/
It hides all currently visible flags. It is the mechanism by which the admin says "I have heard your complaints but I don't agree with them. This comment is fine."