auto-mark old msgs as read when join thread, refactor comm tests (bug 931223)

Lot of adding/refactoring tests + moving some code.

**Auto-marking old messages:**

- when someone is CC'ed on a thread, mark all existing messages as "read" (```CommunicationNoteRead```)
- when someone posts a note, mark their own note as read
- applies to both reviewer actions and api action

**Refactor comm tests:**

- mv ```apps/comm``` to ```mkt```
- add more tests (especially to comm utils)
- use foreign key names (e.g. ```app.threads```) rather than retrieving objects through models (e.g. ```Thread.objects.get(addon=app)```)
- note/thread factory