Always clear free channel contents before reuse

The patchset beginning at 840e658 unifies our device ID handling, having
a single function be responsible for detecting and setting the type.
The new code is very conservative about setting ds->device_type and will
only do so if otherwise unset. Because only protocol 5 clears the channel
contents (including device_type) prior to re-use, other tablets encounter
problems when switching between tools.

This patch has usbChooseChannel always clear the contents of a channel
prior to its reuse. Our prior exception for only protocol 5 devices was
just plain sloppy.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>