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.

r? @chuckharmston (the true chuck) since some code based off of your attachments code.