- Moving "Root Path" from an attribute SourceProvider to an attribute on BinaryFileType when the StorageProvider is FileSystem.
- Refactoring of StorageProvider stuff. Moving Database logic out of Provider and into Service, so that the provider only has to worry about how to read/write/delete the file *content*.  Not done yet
Merge branch 'develop'
added a couple more anchors in RockControlGallery
Storage Provider refactor and GetImage,UploadImage,GetFile,UploadFile cleanup almost done
Merge branch 'develop'
+ fixed a bunch of bugs in BinaryFile logic
+ fixed up GetImage to be smarter about how it deals with caching
+ still need to test a few scenerios, like changing the storage on the BinaryFileType, then editing/deleting BinaryFiles that were saved prior to the change
+ might have seen a possible bug in BinaryFileDetail if you hit X on the filepicker, reloaded a file and saved it.  It looked like it might have created a 2nd record
Merge branch 'develop'
Added the ability to find out which RockContext a Service<T> is using. This will be handy in situations where we need to create a new service, but share the same context. A good example is that the PersonService needs to automatically mark the Photo BinaryFile as IsTemporary=False when the Person record is saved.
+ Storage and Image/File refactor and cleanup almost done.
+ Fixed up BinaryFile.IsTemporary logic
+ Still need to test some more
+ Still need to make sure BinaryFileDetail works
Merge branch 'develop'
update FileUploader/ImageUploader to set it's ControlId's correctly
fix up BinaryFileDetail so it keeps it's Id when a binaryFile is uploaded.  Now, when a new file is uploaded, it will just get the new BinaryFile.Data.Content (and MimeType) from the uploaded file vs turning itself into the uploaded file
Merge branch 'feature-mp-storageprovider-refactor'
Merge branch 'origin/develop'
- Migrations for renamed Stored Procs and new BinaryFile RootPath Attribute