merge entity filemeta into entity file

THIS IS A DESTRUCTIVE CHANGE!!!
BACKWARDS COMPATIBILITY IS NOT SUPPORTED!!!

Entity.files is list of dicts, each with metadata for one file.
Previously, higher-level metadata was kept in entity.filemeta,
which was a dict of dicts keyed to files' SHA1 hashes.
This seemed like a good idea at the time, since it mirrored the
DDR's separation into lower-level code that was concerned only
with files as blobs, and higher-level code that tracked nameing,
subjects, etc, etc.

This worked until someone uploaded two copies of the same file
to an entity.  The SHA1 hash only counts the *contents* of a file,
not the file name.  Both files had the same name, so they pointed
to the same filemeta dict.

This change merges all the data from filemeta into entity.files.
As noted above, compatibility with earlier versions is not
supported.  You've just been uploading QA TEST data, right?
change DDRFile.path to DDRFile.path_rel: be explicit!

There are a lot of different ".*path*" variables and methods
in this code.  Sometimes it's not obvious whether paths are
absolute or relative.
".path" is often used in Django code to mean an absolute path.
It's better to be more explicit.

In the case of DDRFile, we are storing path_rel and *not*
storing path_abs, because we don't know where in the future the
repo will be located and we don't want to cause errors.
set access dest basename based on access file name function

The function looks at the source filename, breaks off the
extension, and appends the access-file "append" suffix.
file role is not editable once file has been created

Because we're going to use file role in URLs and other get/set
functions from now on.
file urls and get/set funcs use repo,org,cid,eid,role,sha1

Previously we were referring to files only by their SHA1 hashes.
This sounded great until somebody tried to upload the same file
twice to the same entity.  Because so many functions (and the old
filemeta dict) used SHA1 as a key they broke.

With this change, files are referred to by the whole
repo,org,cid,eid,role,sha1 chain.

NOTE: We will still need to guard against the same file being
uploaded multiple times to a single entity.