Allow cache backends to be configured, fixes #333
Update many files to latest standard edition