shill: Error: Attribute source from PopulateAndLog

Have callers pass the source file/line of PopulateAndLog calls so
the log message can disambiguate the ultimate source of the error.

BUG=chromium:449528
TEST=Unit tests + manual: restart shill and "grep error.cc /var/log/net.log"

Change-Id: I7bb54e966b047025a3ec7ef18acce5b8bed3d031
Reviewed-on: https://chromium-review.googlesource.com/241522
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/cellular/cellular_capability_cdma.cc b/cellular/cellular_capability_cdma.cc
index 255d933..3206619 100644
--- a/cellular/cellular_capability_cdma.cc
+++ b/cellular/cellular_capability_cdma.cc
@@ -171,7 +171,7 @@
     pending_activation_carrier_ = carrier;
     cellular()->Disconnect(error, __func__);
   } else {
-    Error::PopulateAndLog(error, Error::kInvalidArguments,
+    Error::PopulateAndLog(FROM_HERE, error, Error::kInvalidArguments,
                           "Unable to activate in " +
                           Cellular::GetStateString(cellular()->state()));
     activation_starting_ = false;
@@ -203,6 +203,7 @@
   } else {
     Error error;
     Error::PopulateAndLog(
+        FROM_HERE,
         &error,
         Error::kOperationFailed,
         "Tried to disconnect before activating cellular service and failed");