ENH: flag comments feature

1. Comment Flags are done with Ajax calls, bootstrap Modal
2. After flag is received, 'CommentModerators' Groups receives email
ENH: post comments via ajax

1. django.contrib.comments.views.comments.post_comment() is overridden
2. submit comments using jQuery $.ajax()

Features:
1. Asynchronous posting, preview, loading comments

Features not present:
1. form validation on client side
ENH: delete comments via ajax

/comments/user_delete/{{comment.pk}}/ POST request will allow users to
delete their own comments!

Here we used quite unusual URL naming '../user_delete/'
Because, /comments/delete/{{comment.pk}}/ is by default provided by django
for moderators to remove comment
ENH: edit comments feature

1. render edit comment form using template tag
2. $.ajax() is used for POST request
3. edit comment is opened in Bootstrap Modal
4. Submission Form is inherited from
django.contrib.comments.forms.CommentSecurityForm

Note: uncompiled comment is also present in DOM but hidden.
The rest code (uncompiled) data is required while editing
ENH: show 20 recent user comments on profile

1. comments are generated using get_comment_list template tag
By default returns 20 recent comments; can also profile list count
explicitly

2. each comment is rendered in comments/comment_entry.html

3. send-email-icon-tiny (40 x 40 px) version of send-email-icon (64 x 64)
used for comments image (probably we need new image)
ENH: Rss feed for comments

1. /comments/ latest 40 feeds (Rss)
2. /comments/item_id/rev_id/ all feeds under a revision (Rss)
3. Place feed urls in right-sidebar

Note:
import scipy_central.submission module again for ContentType object
app_name