Retain a reference to filePath in CDTSavedAttachment.
More line length fixes.
Rejig attachment interfaces to favour init methods over factories

This allows for easier creation of subclasses of CDTAttachment,
because they are able to follow the same -init convention rather
than feeling like third-class citizens because they were not
create-able via factory methods on CDTAttachment.