use explicit path_abs for DDRLocalFile init to prevent guessing

DDRLocalFile will accept path_abs, path_rel as args.
It will also accept an unnamed arg, in which case it will try
to guess, and will likely fail.  Silently.
- Add admonishment to the programmer to use explicit arg.
- Use path_abs in *File._load_file_objects.
- Removed useless try/except.
This fix helps enable proper loading of git-annex files that are
absent from the filesystem (e.g. dangling symlinks).
override DDR Entity.checksums; get info from *.json if file absent

DDR.models.Entity.checksum requires that the file be physically
present in order to return a checksum.  This breaks if files exist
but are absent from the repo (e.g. have not been git-annex-gotten).
Files disappear from entity control files and entity.json files
may no longer contain hashes.

This overrides DDRLocalEntity.checksum and gets hash info from *.json
if the file is absent.
refactored DDRLocalEntity.add_file

- Now fails loudly!  Instead of trying to "be nice" and "do the
  right thing", raises exceptions if initial conditions are not
  met or if steps fail along the way.
- Files are now copied to tmp dir on same Store as repo, and only
  moved into the repo if everything looks OK.
- In case of incomplete commits, files are moved out of the repo
  and back to tmp dir.
- Added optional path arg to Entity/File.dump_json so add_file
  can write metadata files to tmp dir.
- Simplified control flow in DDRLocalFile.set_access so
  access_abs is always set.
- "not ok" messages are now correctly printed to addfile log.
Merge branch '079-addfile-refactor' into develop