rewrite DDRLocalEntity.add_access to match old add_file

In preparation for refactoring like the new add_file.
Move file imaging functions to ddr-cmdln

- New module: DDR.imaging
- DDRLocalEntity.access_filename() streamlined.
- DDRLocalEntity.add_file() now uses DDR.imaging.thumbnail.
- DDR.imaging.thumbnail traceback is printed to add-file log if something goes wrong.
- XMP extraction is now done on the source file before copy/rename.
rewrote Entity.add_access to match .add_file

- Files and metadata copied to/written in a tmp dir and only
  moved to collection repo if everything checks out.
- The two functions share as much code as possible.
- New function throws exceptions (making the Celery task fail)
  instead of trying to be nice.
comment clarification and code reformatting
add file_url to add_access task for success/fail links in alerts
Merge branch 'addaccess_refactor' into develop
use correct src filename for add_file access filename
rm logging of nonexistent variable