lib: Fix LegacyPairing property changing

As this is usually checked async, we need to listen for the
property changing before pairing.
wizard: Fix PIN generation for iCade

g_random_int_range() returns an int in the range [begin..end-1].
We want 4 to the an option, so we need to call it with 5.
wizard: Micro optimisation
wizard: Replace target device address as well

To make sure it's updated from the device requesting the changes.
lib: Add DisplayPinCode support

https://bugzilla.gnome.org/show_bug.cgi?id=712387
wizard: Add support for non-SSP keyboards

Add support for pairing pre-Bluetooth 2.1 keyboards.

https://bugzilla.gnome.org/show_bug.cgi?id=712387