lib: Fix LegacyPairing property changing

As this is usually checked async, we need to listen for the
property changing before pairing.
wizard: Remove mice cases handled by autopair plugin

The autopair plugin in BlueZ 5.x will already handle mice, and fall
back when they don't need pairing.
wizard: Remove audio devices special casing

The autopair plugin will already try to pair audio devices
with "0000" as the fallback.
wizard: Remove printers special casing

This is now upstream in BlueZ:
http://git.kernel.org/cgit/bluetooth/bluez.git/commit/?id=ffd321f1e189c8bf99ca0f53c5ee030436c8bf29
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