Feature/go hci

This commit replace the c-shim with go-hci.

Note:
It requires linux kernel v3.14+ for the new USER_CHANNEL of HCI socket.
When a device is opened with user channel, it requires exclusive usage of the HCI interface.
So the HCI interface must be in "DOWN" status, or -EBUSY is returned.  
ex:  sudo hciconfig hci0 down