Keyrevisions can be changed

Hi,
This gives the user the ability to change the keyrevisions. I have not implemented the other UI changes yet. Once this is reviewed, I will get to the other necessary changes.

Thanks.
actually you don't use vals at all except in the return