Use the information from currentOutput, not from the unapplied config

Before this patch, we were looking for the size of the current Mode
in the Output object of the config that is passed to Config::setConfig
which either can or can't have the wanted Mode.

This has been kinda working so far because and ONLY because in
Generator (from kscreen/kded) we use the currentConfig as the base for
the config that we are generating, so all modes are included.

CCMAIL: dvratil@redhat.com

BUG: 320537
BUG: 321708
BUG: 321699
FIXED-IN: 1.0.1
Add assert just in case currentMode is null
Set the primaryOutput only with enabled Outputs

We want a primary output that is enabled, it doesn't make sense
otherwise.

CCBUG: 321698
Always set the screenSize even if we have nothing to do.

The FGLRX-Legacy driver is a smartass and changes the configuration
for us, so it can happen that the configuration WE want is the same
configuration the DRIVER sets automatically, thing is the driver is
forgetting to set the screenSize.

This adds support for smartass drivers.
Bump version to 1.0.1
Add output size in millimetres

REVIEW: 111827
Initialize member variables in XRandrX11Helper

Prevents showing bogus XRandR version in debug output when XRandR is
not available and fixes a crash when unloading an invalid backend

CCBUG: 323832
Fix check for XRandR<=1.1 in x11Event() handler
Don't link against QtDBus
Reorder members in XRrandRX11Helper initialization section
Use bool instead of one-bit int

It just causes troubles and the memory we save is not really worth it
Refresh modes when currentModeId points to unknown mode

Sometimes drivers insert or remove modes, so when currentModeId points to a mode
that we don't have cached, we must refresh the local cache.

This also fixes a crash that occured when currentModeId would be pointing to a
mode that we don't have (even after refreshing modes)

REVIEW: 112604
BUG: 323107
BUG: 324625
FIXED-IN: 1.0.2
Add QDebug streaming operator for Output* and Mode*
Change license to LGPL v2.1 or later
Add clone() method to all LibKScreen objects

The clone() method will perform a deep copy, so calling Config::clone()
will return a completely separated copy of the entire config, all it's
outputs and modes, etc
Disable the xrandr test by default

Run CMake with -DENABLE_XRANDR_TESTS=TRUE to enable the tests.
It makes no sense for anyone to run it, since it only passes on
afiestas' computer so far :-)
Support unsetting primary output

Pass 0 to output in XRRSetOutputPrimary()
Handle a possible error when we query for XRandR version.

BUG: 327170
FIXED-IN: 1.0.2
Change qWarning for qDebug (it is really not a warning anymore)

XRandR 1.1 backend is only for environents with 1.1 XRandR, for
anything else what we really want is the "XRandR" backend.

This warning is more of a debug message for developers, so it is
better if we switch from qWarning to qDebug.

BUG: 326776
FIXED-IN: 1.0.2
Fix build :p