Various KeyNav fixes about subclass-specific key processing.

* rename _keyNavCodes to keyHandlers since it's protected not private, and since the
  old name was confusing
* don't call this.keyHandlers[evt.keyCode] for SPACE if search in progress
* don't call this.keyHandlers[evt.keyCode] for SPACE on <input> controls
* remove some code from _keynavKeyPressHandler() that was never executed due to previous
  if(... evt.charCode <= keys.SPACE ...) { return } code
* rename _deactivateHandler so it doesn't conflict with HasDropDown#_deactivateContainer

Refs #214, fixes #297.
stop requiring id's for dropdowns and HasDropDown widgets, fixes #298
fix typos from onFocus()/onBlur() refactor, refs #214
forward keystrokes from HasDropDown to dropdown via emit() rather than function call
HasDropDown: set aria-haspopup attribute.
Fix class name of popup wrapper to be something like d-list-popup
instead of d-listPopup.