Bug 860166 - Create new class BluetoothProfileManagerBase, r=mrbkap

BluetoothProfileManagerBase is a base class of Bluetooth profile managers.
It will be a generic interface declaring basic functions that all profile
managers should implement, such as Connect(), Disconnect() and IsConnected().
Currently there is only one callback function OnGetServiceChannel(), which
will be called after calling BluetoothService::GetServiceChannel().
Bug 860166 - New mechanism for establishing outboung Bluetooth connection, r=mrbkap

Things we have done in this patch:

1. Make BluetoothHfpManager/BluetoothOppManager implement BluetoothProfileManagerBase
2. Add function BluetoothService::GetServiceChannel()
3. Once GetServiceChannel() is done, callback Bluetooth*Manager::OnGetServiceChannel() will be invoked
4. Remove unused function BluetoothService::GetSocketViaService()