DBus changes for implementing local GATT attributes.

In this CL, we implement the changes to the DBus managers and providers
needed to support local GATT services. The major changes from the code
on trunk are,

.) Adds a new BluetoothGattApplicationServiceProvider. This service
provider provides an object manager which manages all the other exported
GATT attributes. It is responsible for setting up all the individual
attribute service providers correctly.
.) Adds the correct fake implementations for this service provider, the
other attribute service providers and the Gatt Manager client.
.) Does various cleanup changes in touched code.

Part 2 of a 3 patch series:
https://crrev.com/1915803002 Bluetooth class changes
https://crrev.com/1914893002 DBus class changes <<<
https://crrev.com/1919683002 Adapter changes + tests

[email protected], [email protected]
BUG=601935

Review-Url: https://codereview.chromium.org/1914893002
Cr-Commit-Position: refs/heads/master@{#390601}
39 files changed