Extracting versioning to actor

The rollback logic in the controller was out of place, relative to the
rest of the code. In addition, the GenericFileActor already had the
logic in a more complete form (namely handling a change in mimeType).