The Atheros Rome bluetooth chipset has been a huge headache under Linux due to Qualcomm reusing an ID code for this and an older chipset: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1542743 among other sources
The fix for this in kernel 4.8 is available in that bug report, but it is not compatible with the new kernel 4.13.
Note: I didn't write any of this code, I'm just documenting a fix.
Included below is a modified version of btusb.c that is working. I've made some small patches based on the compile errors and the btusb.c from the 4.13 kernel. I did not patch everything; just the bits that were relevant to my install errors. You may wish to do a more complete patch if you experience stability issues. Install commands: