main: Use 'none' instead of emptry string

Same logic as for extensions are now applied to backends and frontends.
path: Test get_or_create_file()
path: Close create file right away
path: Let get_or_create_file() create missing dirs
main: Remove redundant dir creation
local: Use path helpers to create tag cache
local: Move data files into an extension specific dir
local: Create all needed dirs/files on startup