[artifacts] Remove dependence on go.fuchsia.dev/fuchsia/tools.

Also add some missing Close() statements.

Bug: 62512
Change-Id: I01c5983a8901e9cf87b8401843ecdd81bb948b51
Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/infra/+/441545
Reviewed-by: Marc-Antoine Ruel <maruel@google.com>
Commit-Queue: Marc-Antoine Ruel <maruel@google.com>
diff --git a/artifacts/artifacts.go b/artifacts/artifacts.go
index a71dd3e..0660fdd 100644
--- a/artifacts/artifacts.go
+++ b/artifacts/artifacts.go
@@ -45,8 +45,8 @@
 		root = path.Join("builds", build)
 	}
 	return &BuildDirectory{&directory{
-		bucket: bkt,
+		bucket:     bkt,
 		bucketName: bucket,
-		root:   root,
+		root:       root,
 	}}
 }
diff --git a/artifacts/directory.go b/artifacts/directory.go
index fa32101..ccb7f66 100644
--- a/artifacts/directory.go
+++ b/artifacts/directory.go
@@ -8,11 +8,12 @@
 	"context"
 	"fmt"
 	"io"
+	"os"
 	"path"
+	"path/filepath"
 	"strings"
 
 	"cloud.google.com/go/storage"
-	"go.fuchsia.dev/fuchsia/tools/lib/osmisc"
 	"google.golang.org/api/iterator"
 )
 
@@ -67,11 +68,16 @@
 	if err != nil {
 		return err
 	}
+	defer input.Close()
 
-	output, err := osmisc.CreateFile(dest)
+	if err := os.MkdirAll(filepath.Dir(dest), os.ModePerm); err != nil {
+		return err
+	}
+	output, err := os.Create(dest)
 	if err != nil {
 		return err
 	}
+	defer output.Close()
 
 	_, err = io.Copy(output, input)
 	return err