The purpose of this is to make it easier to maintain and eventually to allow the rclone backends to be re-used in other projects without having to use the rclone configuration system. The new code layout is documented in CONTRIBUTING.
This makes a framework for adding temporary errors identified by syscall number or by error string. Fixes #1660