Fix CDC::begin hang when no host is present

When no host is present CDC::begin hangs in USBDevice::attach.  This
change waits 2 seconds before giving up on the host.  If no host is
connected within that time USB data is disabled but USB power regulator
is left on in case power comes from a USB power adapter.
Merge pull request #256 from jediunix/CDC-begin-hang-fix

Fix CDC::begin hang when no host is present