Implemented "Shift Click Element" keyword

I've implemented a new keyword "Shift Click Element" which allows user to click an element while holding down the Shift Key.  In Firefox, this combination maps to "Open in New Window".  (In-house, we use this routine to initiate the downloads of files which are produced by the reporting features of our application.)  The implementation could easily be re-used for other key/click combinations (Alt-Click, Ctrl-Click, etc.)  We've been using this routine in-house for a few months now.

If you'd prefer, I could re-implement this as Key Click Element (a more generic implementation) and re-implement the Shift Click Element keyword as a user of the generic keyword (passing Keys.SHIFT as a parameter to the generic keyword implementation).
[Thinking out loud before researching as reminder to self] Should the order of the arguments be self, locator, keyname to be consistant with the other keywords?

Also I am thinking that we should add an option argument for specifying which button to click.