Before this change fatal errors which were wrapped in a system error (eg a URLError) were not recognised as fatal errors.
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.