ENH: iohub monitors psychopy process

Shuts down if psychopy process is no longer running.

Tested on Windows only right now; needs Linux and OS X testing , as the
changes may possibly introduce other issues.
ENH: iohub hdf5 reading util

reading util class method getEventsByType now accepts a where condition
string which is && with the existing filter used.
ENH: eyetracker validation

Saved plot image has a better name, and the image name is sent to the
iohub datastore along with all the other validation results.
Merge branch 'master' of git://github.com/psychopy/psychopy
ENH: iohub KeyboardCharEvent Removed

* added duration, press_event_id, and char attributes to base keyboard
event class. Keyboard release events set the duration and press_event_id
fields if a corresponding press event was recorded. Otherwise these
fields default to '' and 0.0.

* keyboard event .char field will be used in future changes; unused now.

* populating duration and press_event_id fields is implemented and
tested on windows only at this time.

* All references to KeyboardCharEvent class removed; all usage of
EventConstants.KEYBOARD_CHAR replaced with KEYBOARD_RELEASE
Adding missed file for last commit.
ENH: Working on new Keyboard device class

Have it almost there. Currently just setting the iohub .key values to
.key and .char of new events, so still need to fix that part.
deleted backup file
Merge branch 'master' of git://github.com/psychopy/psychopy
ENH: new Keyboard + events working on Windows

The new iohub Keyboard device and events are now working on windows.
keyboard_event.key maps to what  psychpy.event.key returns on Windows
with a latin-1 char set.

I have updated the iohub keyboard demo (now at
demos.coder.iohub.keyboard.py) to display both the .key and .char values
from a keyboard event. The value returned by event.getKeys() is also
displayed, and a warning is shown if the two key values do not match.

Testing help on Windows wit other char sets etc. would really help.

Other OS's need to be updated next; Linux and OSX currently will not
work at all.

Will first do Linux.

Will do OS X last as part of OS X keyboard rewrite.
Merge branch 'master' of git://github.com/psychopy/psychopy
ENH: Added wait* methods to iohub Keyboard device

The psychopy.iohub.client,Keyboard device now has the following methods:

* waitForKey(...): Same idea as event.waitKeys(), but supports same
filter args as keyboard.getKey(....)
* waitForRelease(..)
* waitForPress(...)

Also changed these emthod anmes in the class:

* getKeys -> getKey
* getPresses -> getPress
* getReleases -> getRelease

Also added cls method to visual.Window that pumps all psychopy windows
for pyglet events to wrap code that is used in a few places.
BF: demo still used getKeys

changed to geKey()
ENH: EyeLink iohub interface

- Image Display during camera setup now works.
- Options text displayed when calibration mode is started. (no more
blank screen instead)
BF: iohub compat issue with pytables 3.1
BF: Updated to work with new keyboard events
BF: changes needed for new kb event field defs
ENH: iosync teensy 3 prog changes

- removed DIN pin 9 and extra logic overhead
- changed the pin so it should be able to be used to have iosync trigger
a reset / reboot of the device.
Merge branch 'master' of git://github.com/psychopy/psychopy
Merge branch 'master' of git://github.com/psychopy/psychopy