move and rename getCachePath
refactor to method writeCabal
move readFile' to its own file

I want to use it from other modules than Main.
consolidating the CabalFile API

the opposite of write is not parse, it's read
don't hide parseCabal

we want a convenient API, but also a flexible one.
add missing debug import

Needed by the (commented-out) debug statement pretty-printing the
version map.
consolidating the VersionFile API