libweave: Remove release() calls on scoped_ptr

Now that scoped_ptr is just a type alias to std::unique_ptr, there
is no need to do release()/aquire semantics to convert between
scoped_ptr and unique_ptr. Also, replaced base::Value::DeepCopy with
the safer smart-pointer-enabled base::Value::CreateDeepCopy.

Change-Id: I6b7ed78b3fae6d42a68b7d73ae4d9d5eebf48922
Reviewed-on: https://weave-review.googlesource.com/3067
Reviewed-by: Robert Ginda <rginda@google.com>
diff --git a/examples/daemon/light/light.cc b/examples/daemon/light/light.cc
index 07c0231..66167b4 100644
--- a/examples/daemon/light/light.cc
+++ b/examples/daemon/light/light.cc
@@ -288,7 +288,7 @@
     std::unique_ptr<base::DictionaryValue> colorXy(new base::DictionaryValue());
     colorXy->SetDouble("colorX", color_X_);
     colorXy->SetDouble("colorY", color_Y_);
-    state.Set("colorXy.colorSetting", colorXy.release());
+    state.Set("colorXy.colorSetting", std::move(colorXy));
     device_->SetStateProperties(kComponent, state, nullptr);
   }