Extended display identification data support

This pull request extends pull request #61 with support
for monitor identification via EDID values when using
RandR or DRM. By using the adjustment method option 
`edid=...`, where `...` is the EDID value in hexadecimal
representation (both lower and upper case, and mixed,
is allowed), the appropriate CRTC will be selected. If
the screen or graphics card is set to `all` (default) it
will find it independently of which screen/graphics card
it belongs to. It is also possible to, for a monitor entry,
add `ignorable=1` which flags to program to skip the
monitor if it is not found. I have not set this the default
when when EDID is used, but doing would require editing
two lines and add one line.

EDID values are provided by most monitors, its goal
is to optimise plug-and-play support. But they also
contain (in most cases) data that make them unique,
such as week of manifacture, serial numbers, prototype
calibration information, random data (or serial number).


This patch should close:
https://bugs.launchpad.net/redshift/+bug/1240872