Revert "adbd: Don't close/reopen FFS ep0 on disconnect"

This reverts commit b5d385f1ef38ad0c163598c3a4e167d4ae9df3c6.

Commit b5d385f "adbd: Don't close/reopen FFS ep0 on disconnect"
fixes USBCV chapter 9 failures due to re-enumeration as part of
reopening FFS ep0 handle. This was done from usb_kick function
which gets invoked whenever adb read/write fails.
But, not allowing USB re-enumeration on real IO failures results
in adb to go offline and only way to recover is by re-connecting
USB cable.
As ADB function is used for debugging and USBCV tests are not
mandatory, hence, revert original change to allow USB
enumeration on any read/write failures.

CRs-fixed: 689512
Change-Id: Ic0b38223761b7c0eb3e2c54328e88010297318fb
Dedupe _GNU_SOURCE and ucontext.h definition and inclusion, put them in sane locations.

Change-Id: Ib61db11ec1a00ca675820da8dc916f7ce03e445e
Merge remote-tracking branch 'cyanogen/cm-11.0' into cm-11.0