frameworks/base: Add setCurrentFunctions to Legacy USB DM

1)Method implementation is the same as UsbDeviceManager::setCurrentFunctions.
The override is required to use LegacyUsbDeviceManager's mHandler, as
UsbDeviceManager's mHandler is an uninitialized private field.
https://github.com/aospX/platform_frameworks_base/commit/1a69ac68b97bfee0c23b30fe39bdc62713706ef1
This fixes USB tethering on legacy devices like Bravo

2)Keep track of tetherable USB interfaces in both up and down link states.
https://github.com/aospX/platform_frameworks_base/commit/41b9090a81b6b9ef72872a88c06709f55e0ae20a
Signed-off-by: nickleby <nickleby92@gmail.com>

Change-Id: I5b9e9586ad15170b1d4c1b8d26a4987df1f12cd8

Conflicts:

	services/java/com/android/server/usb/LegacyUsbDeviceManager.java