add broccoli cloud to files

fixes CNVS-14981

This adds a broccoli cloud to the files section. It listens to updates
on the model and will update accordingly. It only toggles two states.
Published and unpublished. If the previous state was 'restricted'
meaning there is a calendar event associated with it, it will unpublish
the file or folder.

Test Plan
Given you are using the new files
And you go to the files section
And you have files and folders with published, unpublished and
restricted states
Then published filesystem objects should have a green cloud
And unpublished filesystem objects should have a gray cloud
And restricted fliesystem objects should have a caledar icon
And hidden fliesystem objects should have a paperclip icon

Given you are using the new files
And you go to the files section
And you have files and folders with published, unpublished and
restricted states
When you click on a restricted calendar icon
Then it should unpublish the filesystem object
When you click an unpublish icon
The it should publish that filesystem object
When you have an unpublished filesystem object
Then it should publish it

Given you are using the new files
And you go to the files section
And you have files and folders with published, unpublished and
restricted states
And your server isn't running (you have no connection)
When you try to publish or unpublish a filesystem object
Then it should revert back to its original state
And a flash error message should appear

Change-Id: I5cdb15998da1c4628fdc537b67ef22b1ac998782
Reviewed-on: https://gerrit.instructure.com/40158
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Sterling Cobb <sterling@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>