Make connection / disconnect failure more robust.

Add error codes so that the states can be tracked better.

Change-Id: Ic07a5d34589134b68dedeb4803ccb523aa01b567
5 files changed