Extend meta data on Comment

Extend Comment with:
       - ByLine (author) info
       - Proper Time type
       - ExternalID
       - Source info (Via)
       - New creation method (CommentAttr) that enables setting meta-data
I would prefer to have a single comment method with the signature `Comment(refType string, refId uint, text string, params map[string]interface{})`. I would argue for `text` going before `params` since it's required.