create attachments api (bug 958382)

An API for attaching files to a CommunicationNote.

- Requests are in the form of an attachment formset, encoded with ```multipart/form-data```.
- Attachment API separate from CommunicationNote API (therefore are created after notes).
- Decided to make the APIs separate (not create note+attachments in one request) to keep it refactored. 
- Clean up the CommunicationNote API a bit, removing unused methods.

**Notes:**
- This will be used in Commbadge (commonplace project) to allow developers to attach a file to a note.
- a utility within this patch will be used in the Reviewer Tools to create attachments

r? @chuckharmston (the true chuck) since some code based off of your attachments code.