Explicitly flag empty strings to differentiate from cache misses

The cachedTag method was returning an empty string to indicated a
cache miss, but it can also be the case that the value of the
cached tag can be an empty string (happens as a byproduct of
anonymization sometimes).  There is now an explicit flag so
that users of this method can differentiate the cases.  In particular
the fileValue and instanceValue methods can avoid re-loading the original
dataset.
Merge branch 'optimize-cachedTag'

* optimize-cachedTag:
  Explicitly flag empty strings to differentiate from cache misses