[mapistore-python][sample.py]: Correct "for" loop in delete_folder
[mapistore-python][sample.py]: Add message and attachment caches - modifies save and set_properties, which take effect now
[mapistore-python][sample.py]: Rename "message"/"attachment" dictionaries as "basedict" (+clarity and consistency with folder class)
[mapistore-python][sample.py]: Get rid of the temporary dictionaries in set_properties
[mapistore-python]: Correct attach_id behaviour - include ID and next_aid
[mapistore-python][sample.py]: Rewrite some "for"loops
[mapistore-python]: Implement delete_message (hard deletion)
[mapistore-python][sample-backend]: enable get and set properties for attachments
[mapistore-python][sample.py]: Implement create_attachment
[pymapistore]: include attachment ID in Python bindings
[mapistore-python]: implement ROPSaveChangesAttachment
[mapistore-python][sample.py]: Implement RopGetValidAttachments in OpenChange
[mapistore-python][sample-backend]: Implement move_copy_messages
[mapistore-python][sample-backend]: Implement move and copy folder
[mapistore-python][sample.py: Enforce property usage instead of FID/MID attributes
[mapistore-python][sample.py]: Add breaks (only one message/attachment with the same ID can exist in the "message"/"attachment" list)
[mapistore-python][sample.py]: Return MAPIStore errors instead of magic values

- Not necessarily a permanent solution - the MAPIStore Python bindings might stop being exposed in the backend at some point