Fix JSON output crash and install crash on missing hooks dir

ober

37e2fdaea8b4f37ccb18fb896291a9f3f25a043c

diff --git a/gitsafe/main-binary.ss b/gitsafe/main-binary.ss
index 919b9a5..3117c8c 100644
--- a/gitsafe/main-binary.ss
+++ b/gitsafe/main-binary.ss
@@ -51,6 +51,8 @@
     (begin (displayln "gitsafe: error: not inside a git repository") (exit 2))
     (let* ([root      (git-root)]
            [hooks-dir (string-append root "/.git/hooks")])
+      (when (not (file-exists? hooks-dir))
+        (mkdir hooks-dir))
       (displayln "Installing git hooks into " hooks-dir "...")
       (install-hook!
         (string-append hooks-dir "/pre-commit")
diff --git a/gitsafe/main.ss b/gitsafe/main.ss
index 1be967d..cce8f0d 100644
--- a/gitsafe/main.ss
+++ b/gitsafe/main.ss
@@ -69,6 +69,8 @@
     (begin (displayln "gitsafe: error: not inside a git repository") (exit 2))
     (let* ([root      (git-root)]
            [hooks-dir (string-append root "/.git/hooks")])
+      (when (not (file-exists? hooks-dir))
+        (mkdir hooks-dir))
       (displayln "Installing git hooks into " hooks-dir "...")
       (install-hook!
         (string-append hooks-dir "/pre-commit")
diff --git a/gitsafe/output.ss b/gitsafe/output.ss
index ae696ab..039aa96 100644
--- a/gitsafe/output.ss
+++ b/gitsafe/output.ss
@@ -116,7 +116,7 @@
                        (hash-put! s "low"      (hash-ref counts "low"      0))
                        s)]
            [root     (let ([r (make-hash-table)])
-                       (hash-put! r "findings" (list->vector objs))
+                       (hash-put! r "findings" objs)
                        (hash-put! r "summary"  summary)
                        r)])
       (display (json-object->string root))