Add cache_busting support to document editing

Add a cache_busting boolean option to the Document's to_json and
canonical methods.  If set this will add the Document's updated_at
timestamp in UNIX epoch format onto the end of the page_image_url.
This will prevent browsers from displaying a previously downloaded
document image after it's been edited.

The cache_busting option is only selected by the document viewer's
template if the currently logged in user is allowed to edit the
document.
Remove incomprehensible nested ternary

No idea why/how I thought that was a good idea, perhaps I was attempting to minimize the code changes?
Merge remote-tracking branch 'upstream/master' into cache_busting
Windows fix for redactions bypass shift key

On Windows holding the shift while clicking the redactions tool link
toggles redactions opens & shuts very quickly, seems like the event is
delivered twice. Worked fine on OSX though.  As a work-around,
just open the tool explicitly
Merge branch 'cache_busting' into upstream_master

The redactions were taking place but the images were being cached, making it appear that they did not.
Set Annotation Editor's _kind instance var

This is pretty dirty to set a clearly private instance var, but is a
temporary hack for us to semi-enable redactions while we test bugfixes.
Return thumbnail_url with cache-busting time-stamp

This way the thumbnail will update once the document processing is
complete, instead of the browser caching the old thumb-nail.
Keep redaction tool open regardless of keydown
Only append cache_busting timestamp on public docs

Private document's thumbnails come from S3 with time-limited url and are already unique