This patch refactors the output part of the IO backend into an own
backend which is simply used by the IO-backend.
This way we can have a pure-output backend.
This commit changes the backends to do less de/ser, as it now stores the
Entry objects in the backend and does the de/serialization there.
This means the store does only serialize things once from json to toml
in the io backend.
See the diff of the documentation for more details.