shill: Re-throw certain DBus exceptions.

The WiFi class catches some DBus exceptions.  CL/21904 did a LOG(FATAL)
for these exceptions, defeating the catcher in WiFi.  This CL changes
LOG(FATAL) to LOG(ERROR) and re-throws the exception.

This CL can (and should) be reverted when crosbug.com/30584 is resolved.

BUG=chromium-os:30566
TEST=Manual.  Ran shill on Alex.  It crashes without this CL;
doesn't crash with it.  Also ran unit tests.

Change-Id: I781ecb525890f86d30954b30c813c6fc7ac94da2
Reviewed-on: https://gerrit.chromium.org/gerrit/22136
Commit-Ready: Gary Morain <gmorain@chromium.org>
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Gary Morain <gmorain@chromium.org>
diff --git a/supplicant_process_proxy.cc b/supplicant_process_proxy.cc
index 248a9dc..90721a2 100644
--- a/supplicant_process_proxy.cc
+++ b/supplicant_process_proxy.cc
@@ -31,9 +31,9 @@
   try {
     return proxy_.CreateInterface(args);
   } catch (const DBus::Error &e) {
-    LOG(FATAL) << "DBus exception: " << e.name() << ": " << e.what()
+    LOG(ERROR) << "DBus exception: " << e.name() << ": " << e.what()
                << " args keys are: " << DBusProperties::KeysToString(args);
-    return ::DBus::Path();  // Make the compiler happy.
+    throw;  // Re-throw the exception.
   }
 }