ENH: print preferences.prefs.paths in sysInfo.py
Add abstraction layer to allow parallel use on linux

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
Add psychopy API compatible wrapper for inpout32

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
Refactor parallel port access to use classes instead of globals.

Move different methods into their own classes which carry their
own state.  In order to maintain the existing API, we now
init the variable in psychopy/parallel.py as an object instead
of just a base address.  This allows us to abstract out which
platform we're on.  It also helps because we can pass references
to the parallel port handling code to other routines as necessary
and they don't need to care about how the port is being accessed.
Direct class usage also allows easy handling of multiple parallel
ports.

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
ENH: slightly quicker to delete the contents of a list than delete the list (thanks Sol)
DOCS: minor
Add readData routine

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
Sort out documentation for parallel refactor

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
Get logic right way round

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
RF: report fewer paths in sysInfo.py

- report only thoe most useful ones
NF+DOC: minor convenience function: mouse.isPressedIn()

The motivation is to enable intuitive expressions like
   if mouse.isPressedIn(polygon):
   while not mouse.isPressedIn(shape):
This allows one to avoid
   if any(mouse.getPressed()) and shape.contains(mouse):
   while not any(mouse.getPressed()) or not shape.contains(mouse):
- Could work with ImageStim, but ImageStim.contains() needs work first.
- I chose "isPressedIn" to match "getPressed"

Also fixed two typos in doc-strings, and adjusted event.rst.
Merge pull request #266 from jeremygray/master

sysInfo.py print some path info; and a mouse helper function
BF: add 'height' to list of selectable units in prefs and exp settings
DOC: microphone minor clean-up

also: .playback() now has a block parameter, to override default block
RF: microphone.py replace time.time() with core.getTime()

also time.sleep() -> core.wait()
DOC: install avbin on mac; microphone command-line test
Merge pull request #270 from jeremygray/master

minor DOC and RF
Place files in parallel/ directory

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
Cleanup left over port objects

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>
Add changelog entry

Signed-off-by: Mark Hymers <mark.hymers@ynic.york.ac.uk>