Refactor content repository backend
The refactored code is a first step to become able to provide plugins
for backends for storing content in different systems. Instead of
using switch statements to distinguish between backends "file", "lob"
and "text", procs with a suffix of the storage name are provided
now. Essentially, by providing process with additional suffixes can be
used to provide additional storage systems.
In addition, the deletion handling was also refactored such that the
non-scalable functions iterating over all items (such as
"cr_check_orphaned_files") will become obsolete. This is imporant for
content repositories with double and triple digit terabytes.