import content object models from Repository repo

With this change, collection, entity, and file model fields,
default values, and various display and form prep/post methods
are imported from the "ddr" repository rather than from within
the ddr-local project source code.
Location of the "ddr" repository is specified in ddr.cfg.
not using Django admin, so disable admin autodiscover
import blank content models if real ones are not available

Content model definitions should be in STORE/ddr/repo_models/.
STORE may not be mounted, but various code still refers to the
modules.  This commit adds dummy modules that do well enough
until a STORE can be mounted.  Code will not actually *use* the
modules because if STORE is unmounted the browser will redirect
to the storage mount URLs.
remove old file edit form

This hasn't been used for some time...
replace NewFileForm with overridden DDRForm

Models are now defined in the "ddr" Repository repo,
so model fields, their default values, etc. should no longer
be present in ddrlocal code.  NewFileForm had too much knowledge
of File fields so it has been replaced with an overridden DDRForm.

NewFileDDRForm is slightly different from the stock DDRForm.
FILE_FIELDS is altered when a File is first created:
- Certain fields (basename_orig, access, thumb, xmp, etc) are
  removed from FILE_FIELDS.  These fields are absent when filling
  out the initial form because the file has not yet been analyzed.
- Path field has to be added to the FILE_FIELDS

FILE_FIELDS_NEW is placed in the "ddr" repo, while insertion of
'path' field happens in ddrlocal.
print Django debug and error messages in alarming colors

instead of leaving them unstyled.
Sucks that Django's message categories don't match Bootstrap's
but oh well.
nice alert messages if ddr repo's models are absent or undefined
revise sitewide model validation function; add to template context
only display edit links if user logged in and models are valid
ddrlocal.COMMIT supplies dvcs.latest_commit's new required path arg
write commit of model module when dumping object JSON

The hash for the latest commit of the object's model definition
module is written to the object's JSON file.  The commit is for
the specific file (collection.py, entity.py, files.py).
separate errors for missing and dangling basedir links

Also the os.listdir call is put inside a try/except to prevent
crashing the app.
rename (COLLECTION|ENTITY|FILE)_FIELDS var to FIELDS

Use the same variable in each document module to make it easier
to write functions that operate on multiple modules.
mv sample FIELDS definition to ddrlocal.models.collection
add MODEL field to ddrlocal.models.(collection,entity,files)

Just ask the module for the model instead of trying to extract
it from the path or something equally silly.
consolidate redundant model display and form prep/post code
consolidate redundant load-JSON code
consolidate redundant dump-JSON code
tests for models functions (labels_vals,load/dump,formprep/post)
functions and UI to indicate how document model differs from repo's

Basically, indicate to the user whether the model definitions
in the Repository's 'ddr' repo are a different version from the
one used to prepare the document, and whether fields will be
added or removed when editing.
- Indicate whether model definitions in 'ddr' repo are
  newer/older than the document.
- Indicate whether model definitions in 'ddr' repo have added
  or removed fields from the POV of the document.