WebDeposit: class-based design refactoring
WebDeposit: class-based design refactoring

* Refactors WebDeposit to a class-based design to simplify data handling and
  allow easier customization.

* Adds storage abstraction layer for WebDeposit based on PyFilesystem.

* Adds file upload improvements including sorting of files.

* Adds webdeposit specific signals.

* Adds support for using field enclosures such as FieldList and FormField.

Co-authored-by: Konstantinos Ntemagkos <b6d5c97ccd06df79b737d836cf386896d239447a@cern.ch>
Co-authored-by: Jiri Kuncar <2bdffcb416fed3002465740d19a053a39918cbe5@cern.ch>

tiborsimko/invenio-base,tiborsimko/invenio-base,inveniosoftware/invenio-base,inveniosoftware/invenio-base