greybus: leverage ap_disconnect() in ap_probe()

With a few minor changes, ap_disconnect() can correctly handle
cleaning up even a partially initialized USB interface.  Make those
changes, and then use ap_disconnect() to simplify cleanup for all
the error paths in ap_probe().  Reset all fields as they're cleaned
up to facilitate debugging.

Signed-off-by: Alex Elder <elder@linaro.org>