AUI-1366 Increased keyboard traversability

Hi Marc,

I've increased the keyboard accessibility with this latest commit. I've included comments above functions so you know what they are doing. 

One question you may have regarding the code is line 592 and why I've set it up that way. This checks to see if the previous node is collapsed (i.e., hidden), and, if so, it grabs the parentNode instead of the lastChild. There's probably a better way to do it, but for now it is functional and working as you requested, I believe.