Fixes #291

It uses FileTransfer to download the preview_48 (has to, since it needs authentication... and CS would need cert auth).

If there *is* a preview, the file icon is removed and an image added in the left-hand div.

It's surprising how few images actually have previews :(

Three results could mean no preview:

1. there is no preview_48 attribute in the JSON model
2. there *is*, but for some reason the file when downloaded is 0 bytes
3. the FileTransfer errors out for some reason

In any of these cases, it just leaves the file icon alone.