Fix severe bug in davstorage

where (href, etag) instead of etag would be returned.

Thanks for @slavkoja for finding it.
Move safe_write to utils
First version of SingleFileStorage
Actually make this usable from CLI
Flake8
Python 3 fixes
Add another testcase
Remember order of items
Hash items resilient against formatting
Fix hash_item
Make stronger test cases
Revert "Fix hash_item"

This reverts commit 143e0e2c50e9f2b2856a0339075629ee849fb79c.