Comments abstraction

Hey @arboliveira I'm going to ask @sergiogonzalez to review this. He may be able to help get this through Brian's review more quickly.

Sergio, if you feel the need to have Andre break this down into smaller chunks please let him know.

Also, please realize that this is a minimal abstraction from core. We're trying to remove the cross cutting concern of comments from the portal core. It's not our intention to add any improvements other than decoupling.

Also note there are additional pending changes that will sit on top of this set (the proper wiring in of the comment impl).

/cc @JorgeFerrer