WebComment: general comment format improvements

* Introduces the CFG_WEBCOMMENT_ENABLE_HTML_EMAILS config variable.
  When True, emails will also include HTML content.

* Introduces the body_format column for cmtRECORDCOMMENT that describes
  the format of the body of each comment ("HTML", "TEXT", etc.).

* Handles comments appropriately when storing and displaying them,
  according to their body format and desired output format. (closes #2064)

Co-Authored-By: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
Signed-off-by: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
1: D100 Docstring missing
23:6: E126 continuation line over-indented for hanging indent
26:6: E126 continuation line over-indented for hanging indent
32:29: E126 continuation line over-indented for hanging indent
34:6: E126 continuation line over-indented for hanging indent
40:1: E302 expected 2 blank lines, found 1
40:25: E251 unexpected spaces around keyword / parameter equals
40:27: E251 unexpected spaces around keyword / parameter equals
40: D400 First line should end with '.', not 'l'
49:1: E302 expected 2 blank lines, found 1
49: D400 First line should end with '.', not 'D'
67:1: E302 expected 2 blank lines, found 1
67: D400 First line should end with '.', not 'D'
85:1: E302 expected 2 blank lines, found 1
85: D400 First line should end with '.', not 'r'
85: D200 One-line docstring should not occupy 3 lines
98:1: E302 expected 2 blank lines, found 1
98: D103 Docstring missing
103:1: E302 expected 2 blank lines, found 1
103: D103 Docstring missing
168:1: E302 expected 2 blank lines, found 1
168: D103 Docstring missing
176:1: E302 expected 2 blank lines, found 1
176: D205 Blank line missing between one-line summary and description
194:17: W601 .has_key() is deprecated, use 'in'
195:65: E225 missing whitespace around operator
195:117: E225 missing whitespace around operator
198:51: E225 missing whitespace around operator
198:78: E225 missing whitespace around operator
205:1: E302 expected 2 blank lines, found 1
222:5: F841 local variable 'user_info' is assigned to but never used
267:1: E303 too many blank lines (3)
282:5: F841 local variable 'user_info' is assigned to but never used
289:68: E251 unexpected spaces around keyword / parameter equals
289:70: E251 unexpected spaces around keyword / parameter equals
320:5: F841 local variable 'user_info' is assigned to but never used
343: D400 First line should end with '.', not 'e'
343: D200 One-line docstring should not occupy 3 lines
352:1: E302 expected 2 blank lines, found 1
352: D400 First line should end with '.', not 'n'
352: D205 Blank line missing between one-line summary and description
362:13: E128 continuation line under-indented for visual indent
427:1: E302 expected 2 blank lines, found 1
427: D400 First line should end with '.', not 'n'
427: D205 Blank line missing between one-line summary and description
469:1: E302 expected 2 blank lines, found 1
469: D400 First line should end with '.', not 'n'
469: D205 Blank line missing between one-line summary and description
532:1: E302 expected 2 blank lines, found 1
532: D400 First line should end with '.', not 'n'
532: D205 Blank line missing between one-line summary and description
553:1: E302 expected 2 blank lines, found 1
553: D400 First line should end with '.', not 'n'
553: D205 Blank line missing between one-line summary and description
575: D400 First line should end with '.', not 'n'
575: D205 Blank line missing between one-line summary and description
586:1: E302 expected 2 blank lines, found 1
586: D400 First line should end with '.', not 'n'
586: D205 Blank line missing between one-line summary and description
597:1: E302 expected 2 blank lines, found 1
597: D400 First line should end with '.', not 'n'
597: D205 Blank line missing between one-line summary and description
608:1: E302 expected 2 blank lines, found 1
608: D400 First line should end with '.', not 'n'
608: D205 Blank line missing between one-line summary and description
629:1: E302 expected 2 blank lines, found 1
629: D290 White spaces around docstring should be trimmed.
629: D400 First line should end with '.', not 't'
629: D205 Blank line missing between one-line summary and description
638:1: E302 expected 2 blank lines, found 1
638: D400 First line should end with '.', not 'D'
638: D205 Blank line missing between one-line summary and description
648:1: E302 expected 2 blank lines, found 1
648: D400 First line should end with '.', not 'D'
648: D205 Blank line missing between one-line summary and description
658:1: E302 expected 2 blank lines, found 1
658: D400 First line should end with '.', not 'D'
658: D205 Blank line missing between one-line summary and description
668:1: E302 expected 2 blank lines, found 1
668: D290 White spaces around docstring should be trimmed.
668: D400 First line should end with '.', not 't'
675:1: E302 expected 2 blank lines, found 1
675: D400 First line should end with '.', not 'd'
675: D205 Blank line missing between one-line summary and description