These were mostly caused by shadowing err and a good fraction of them will have caused errors not to be propagated properly.
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.