Even more tests.
Remove shared _get_href function

- dav hrefs are now without special chars, since many servers are unable
  to cope with those

- filesystem storage still uses ident + fileext

- everything else uses ident
Also handle already encoded hrefs correctly.