downloadEntity switches behavior based on whether we're downloading a FileEntity or an old Locationable object
added support for FileEntities to uploadFile