Big refactor of filesystem and svn to use a File model for talking