radeon_hd: Better tracing. Fix DP ack bitwise shift
radeon_hd: Rework gpio pins

* There are GPIO pins for hotplug interrupts and i2c
  communications (for edid). Add two fields to connector
  (index for each in gGPIOInfo).
* DP aux communcation seems to want the hotplug GPIO pin
  info, which we don't get (I think this is why DP AUX comms
  is broken at the moment)
* GPIO LUT seems to know about a wide range of GPIO pins, while
  the i2c gpio calls only know about the ones needed for i2c.
* I'm tempted to populate gGPIOInfo with the LUT pins and
  then suplement that data with the i2c GPIO pins data.
  (however, not sure how many pins there are generally defined
  so it could impact performance. More investigation is needed)
  This would reverse how it works now with this commit.
radeon_hd: More gpio rework

* Bump i2c data into it's own struct
* Populate gGPIOInfo with general gpio pins
  (for things like HPD, and voltage control)
* Attach HPD gpio pins to connectors
* Dump trace info of HPD pins as well as i2c pins
Import gnuregex 0.12 and remove hardcoded paths

This is required on OS X and other systems which do not have the glibc
extensions for regular expressions (FreeBSD is not one of them as it
already includes gnuregex in /usr). With this there are no hardcoded
non-standard paths for OS X anymore.

regex.c and regex.h are from the official gnuregex 0.12 distribution,
the only modification is that I added __BEGIN_DECLS and __END_DECLS to
regex.h.