:idle-priority keyword to change the running order of idle functions

Lower-priority idle functions are run first. Idle functions with no
specified priority default to 5 and all functions with the same priority
are run in the order in which they are evaluated, meaning the behaviour
is backwards compatible.

Updated documentation as well.
Merge pull request #98 from ffevotte/idle-priority

Add a :idle-priority keyword to change the running order of idle functions
Add new option use-package-idle-interval.

* use-package.el (use-package-idle-interval): new defcustom
(use-package-start-idle-timer): use it
(use-package-idle-eval): use it
* README.md: document it

This addresses bug #77
Merge pull request #99 from YoungFrog/idle-interval

Add new option use-package-idle-interval.