darwin: Add support for bulk stream transfers.

This commit adds support for bulk streams to the darwin backend. I
have not had a chance to fully test this code as I have no access
to any devices that use this interface.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
darwin: code cleanup

Clean up some code in the darwin backend.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>
darwin: correct endpoint address calculation

The backend was incorrectly calculating the addresses of endpoints
with directions other than kUSBIn and kUSBOut. This primarily affects
devices with multiple control endpoints. This commit should correct
the issue by only setting the direction bit when the direction is
kUSBIn.

Thanks to Jean-Etienne for identifying the issue.

Signed-off-by: Nathan Hjelm <hjelmn@me.com>