Add cancel parameter to Keys[Prefix]

@philips, I believe this is the same API as your PR, with a few tweaks to abide my particular style idiosyncrasies :) OK from your side?