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>
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>
Merge branch 'master' of github.com:psychopy/psychopy
Merge branch 'parallelrefactor' of https://vcs.ynic.york.ac.uk/git/public/users/mark/psychopy