add ability to move things from one folder to another

fixes: #CNVS-14725

this commit also moves the shared functionality
of File and Folder to base class

File and Folder have similar behavior, we were branching
a lot and defining the same methods on both. this
has them both inherit from the same base class
so they can share that functionality

this commit has has a bunch of changes on stuff that
sterling is working on too. so i want to get it pushed
now so he doesn't have a bunch of merge conflicts. tests
coming in the next commit.

test plan:
in the new files interface,
* click the cog for an item
* click the move option
* a dialog asking where you want to move it to should appear
* pick something
* press "move"
* it should immediately show that it is moved
* it should still show that it is moved when you refresh

Change-Id: I226d21396ab3b6b84e9cdcd62212500986efd9b2
Reviewed-on: https://gerrit.instructure.com/39943
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>