Move chrome.bluetoothLowEnergy out of //chrome.

This CL moves the Bluetooth Low Energy API out of //chrome and into
//extensions. This will allow us to use this API from AppShell.

This CL also adds the Kiosk Delegate. On Chrome, this delegate will mostly
have stubbed functionality but the delegate does need to exist on all
platforms. This is because AppShell is not restricted only to Chrome OS so
the API will need to be compiled for multiple platforms, whether it is
compiling under a Chrome build or an AppShell build.

Moving the tests will be fairly complicated due to various dependencies
on InProcBrowserTest and ExtensionApiTest. Hence I'll send out a separate
follow on CL to move the tests.

[email protected], [email protected]
BUG=650835

Review-Url: https://codereview.chromium.org/2370373002
Cr-Commit-Position: refs/heads/master@{#421700}
diff --git a/extensions/browser/test_extensions_browser_client.h b/extensions/browser/test_extensions_browser_client.h
index 990ab0e..ee572fa 100644
--- a/extensions/browser/test_extensions_browser_client.h
+++ b/extensions/browser/test_extensions_browser_client.h
@@ -19,6 +19,7 @@
 #include "extensions/browser/updater/extension_cache.h"
 
 namespace extensions {
+class KioskDelegate;
 
 // A simplified ExtensionsBrowserClient for a single normal browser context and
 // an optional incognito browser context associated with it. A test that uses
@@ -109,6 +110,7 @@
   bool IsMinBrowserVersionSupported(const std::string& min_version) override;
   ExtensionWebContentsObserver* GetExtensionWebContentsObserver(
       content::WebContents* web_contents) override;
+  KioskDelegate* GetKioskDelegate() override;
   scoped_refptr<update_client::UpdateClient> CreateUpdateClient(
       content::BrowserContext* context) override;