usbhid: add set idle rate quirk for keyboard sticky key issue

upmerge the changes from rpi-3.2.27 to rpi-3.6.y branch
cherry-pick from commit 2a94b11ebf21c947510943c6de212917dd9cae06

to enable USB HID keyboard to resend the last message in case USB packet loss, we can set the idle rate of the HID device. This patch sets the rate to 40ms. This can be enable with kernel argument "usbhid.quirks=::0x08000000" added to cmdline.txt
The quirk will only be applied to the specific USB HID device specified. For my Microsoft Wireless Desktop 800, it is "usbhid.quirks=0x045e:0x0745:0x08000000"

Conflicts:

	drivers/hid/usbhid/usbhid.h