api: sdk: Plumb full chroot proto handling

Most endpoints use controller_util.ParseChroot() to parse chroot
messages and pass that down into their backing service; sdk.Create()
does not, which means we drop the out_path along the way.

Plumb a chroot_lib.Chroot() into service.sdk.CreateArguments(), and use
that.

BUG=b:265885353
TEST=./run_tests

Change-Id: I9b52facc6ac4c599798ff11a445257dcf36ba16e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/4497086
Commit-Queue: Brian Norris <briannorris@chromium.org>
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: Brian Norris <briannorris@chromium.org>
diff --git a/api/controller/sdk_unittest.py b/api/controller/sdk_unittest.py
index 7fcd8ee..5110056 100644
--- a/api/controller/sdk_unittest.py
+++ b/api/controller/sdk_unittest.py
@@ -100,8 +100,7 @@
         args_patch.assert_called_with(
             replace=True,
             bootstrap=False,
-            chroot_path=mock.ANY,
-            cache_dir=mock.ANY,
+            chroot=mock.ANY,
             sdk_version=mock.ANY,
             skip_chroot_upgrade=mock.ANY,
         )
@@ -123,8 +122,7 @@
         args_patch.assert_called_with(
             replace=False,
             bootstrap=True,
-            chroot_path=mock.ANY,
-            cache_dir=mock.ANY,
+            chroot=mock.ANY,
             sdk_version="foo",
             skip_chroot_upgrade=True,
         )