dbus-c++: report DBUS_ERROR_OBJECT_PATH_IN_USE error

This CL modifies ObjectAdaptor::register_obj() to throw an
ErrorObjectPathInUse exception if it fails to register a handler for a
given path in the DBus object hierarchy (i.e. upon a
DBUS_ERROR_OBJECT_PATH_IN_USE error).

BUG=chromium:392903
TEST=Tested the following:
1. `emerge-$BOARD dbus-c++`
2. Manually modify shill to register a DBus adaptor with the same
   object path twice, and verify that an ErrorObjectPathInUse exception
   is raised.

Change-Id: Ied787112ecd04aae67c6b78060d8cedb03eeda73
Reviewed-on: https://chromium-review.googlesource.com/207344
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
2 files changed