core: Make use of headers consistent across all files

* Include config.h before anything else in all files
* Remove unnecessary inclusion of libusb.h
* Use angle brackets for system headers and quotes for local headers

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
threads_posix: Fix compiler warning due to redefinition of _GNU_SOURCE

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
io: Fix memory leaks in usbi_io_init()

* If the hotplug pipe failed to be created, the usbi_pollfd for the
  control pipe was being leaked.
* If the usbi_pollfd for timerfd failed to be added, the usbi_pollfd
  for the hotplug pipe was being leaked.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
io: Move timerfd close into error handling path

This makes error handling consistent with other areas. This is a
follow-on change to commit b72f4cf77edb1975cada8aab5ae63361c68c5992.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>