Use (pr-str form) to write form to init-file

Ensures that the form can be read by read-string. Fixes issues when
the form is lazy, which result in invalid init files like:

clojure.lang.LazySeq@451d3cd3
Delete the initfile when the subprocess exits, not when the Leiningen process exits

Fixes issues when a task is applied via trampoline:

Exception in thread "main" java.io.FileNotFoundException: /tmp/form-init2098686718977910298.clj (No such file or directory)
Merge pull request #1226 from juergenhoetzel/fix-trampoline

Fix trampoline files when running subprocesses.