collection.status -> func; indicate coll ahead,behind,conflict

Get collection repo status in function instead of during __init__.
Added calls to functions that analyze collection repo status and
indicate whether it is ahead or behind origin, or if it is in a
conflicted state.
first pass at showing coll state (ahead,behind,etc) in templates
alert if coll repo is behind origin; prevent editing

Notify user if repo is known to be behind origin.
On collection,entity,file edit views, fetch repo and prevent any
editing if repo is behind.
The idea is to prevent as many merge conflicts as possible.
display alert if merge conflict is detected in collection repo
tweak repo status labels in coll top-right; edit notice

Moved the ahead,behind,conflicted labels around in the collection
base template so they display properly.
Added notice next to collection edit button explaining that
btn is disabled when repo is behind.
remove alert_if_behind functions from collection views

The little button/labels in the top-right are smaller and more
useful.
Merge branch 'master' into 088-merge-conflicts
lock all edit btns when collection behind,conflicted

Applies to collection, entity, file edit and add/new btns.
sub-class DDRLocalCollection in webui; subclass caches status

This is mainly to cache git fetch, status, and annex status.
use webui.models.Collection in views; delete cache after edits
code formatting on collections list page; note conflicted repos
first pass at web UI for resolving merge conflicts
added way to remove collection,entity lockfiles in the UI

Merge conflicts seem to often result in locked repos, and it's
a pain to have to go into the CLI to fix this.
Putting the link in the footer should be "expert" enough.
use ddr-cmdln's refactored repo status flag functions
separate commit function for diverged repos

Not sure we need this actually, but there it is.  We can remove it
later if we need to.
repo status cache timeout > zero (e.g. don't cache)

Repo synced/ahead/behind/diverged status was taking way too long
to update, so just set timeouts to zero.
merge view commits; UI touch-ups of merge-index

The merge-index view can now do the commit operation after files
are resolved and added.
Page UI was pretty confusing and has been cleaned up.
Moved status and diagnostic info to bottom.
shuffled the repo status pills around; fixed display logic

"conflicted" status logic is now separate from the
"ahead/behind/diverged" logic.
A repo can now be conflicted *and* ahead/behind/diverged.
update "conflicted collection" alert with link to merge-index

Make it possible for users to get to the merge-index page
without having to know the URI.
Merge branch 'master' into 088-merge-conflicts