bluetooth: Make BluetoothRemoteGATTCharacteristic Persistent

Since it was WeakPersistent the characteristic was getting garbage
collected which lead to a crash when the response arrived. Also adds tests for
all the relevant functions.

BUG=659182

Review-Url: https://codereview.chromium.org/2465823002
Cr-Commit-Position: refs/heads/master@{#429509}
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index f718aa79..c4b261c 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1302,6 +1302,7 @@
 crbug.com/624019 [ Mac ] bluetooth/stopNotifications/gen-gatt-op-device-disconnects-during-success.html [ Skip ]
 crbug.com/624019 [ Mac ] bluetooth/stopNotifications/gen-gatt-op-disconnect-called-during-success.html [ Skip ]
 crbug.com/624019 [ Mac ] bluetooth/stopNotifications/gen-gatt-op-disconnect-called-before.html [ Skip ]
+crbug.com/624019 [ Mac ] bluetooth/stopNotifications/gen-gatt-op-garbage-collection-ran-during-success.html [ Skip ]
 
 crbug.com/487344 paint/invalidation/video-paint-invalidation.html [ Failure ]
 crbug.com/487344 [ Win ] compositing/video/video-controls-layer-creation.html [ Pass Failure ]