Make analysis file portable.

Serializes CompileSetup as text instead of base64-encoded
binary-serialized object.

This is necessary so that file paths in the CompileSetup can be
rebased when porting analysis files between systems.

A squashed version of https://github.com/sbt/sbt/pull/1043