The accession display string is either the title or ID, not both
Use a lambda for early return
Fix selenium tests now that accession titles have changed
Switch the realtime updater to pull a complete JSON model from the database, rather than using the original JSON blob

Previously we would handle create/update from JSON like:

  * Take a (validated) JSON blob from the user

  * Run it through the create/update_from_json pipeline, allowing all
    mixins to modify the JSON blob as required.

  * In ASModel, save it to the database, then broadcast the JSON in its
    final form to the realtime indexer.

The problem with this was that the JSON sent to the real-time indexer
wouldn't necessarily match the JSON you would normally get by calling
.sequel_to_jsonmodel.  Mixins might add display behaviour in
sequel_to_jsonmodel that wouldn't be included in the representation sent
to the indexer.

So, this change modifies ASModel to re-fetch records from the DB (via
.sequel_to_jsonmodel) before sending them off to the indexer.  This
ensures that the indexed version of a record is the same as you'd get by
querying the backend, but at the expense of having to do a full fetch
from the DB for each update.