BF: SoundPyo.getDuration()

pyo DataTables don't have a .getDur() method, so getDuration was not working
when the sound was _fromArray()
ENH: sound.SoundPyo - volume, loop

- with getters and setters
- a bit inefficient: recreates the whole table if you set volume or loop
  but its unclear how to set just that value (mul, loop)
- no adjustments during playback
RF: SoundPyo smoother updating of volume, loop
ENH: better simulated-fMRI sound in launchScan
DOC: more examples for setRecordFrameIntervals
DEBUG: getting the trace-back is useful when dev/debug the app
ENH: Builder components: warn if 'constant update' param field looks dynamic

- print a note during compile if it seems like dynamic updates are intended
  but the update flag was set to 'Constant'
- all tests pass (testApp probably has the only relevant ones)
- works on all Builder demos
- maybe integrate with ComponentDialogs instead or as well?
  nice to provide a suggestion immediately, but could be annoying
ENH: core countdown timer

- can be nice to start with some time on the timer, so allow at init.
  timer = core.CountdownTime(5)
- doing the same for a clock seems counterintuitive, c=core.Clock(5) seems
  like the clock should start at 5s not -5s, so just do for CountdownTimer
- cleaned up some typos in the doc strings
BF: a RatingScale should only check for relevant keys
RF: isPressedIn(), more efficient to check buttons before contains()
BF: Mouse instances can obtain a default visual.Window, closes #267

- brings code into agreement with documentation
- allows mouse = event.Mouse() rather than requiring a win arg, esp as it
  requires win=win (unlike visual stim for which win is the first arg)
- import order does not matter; event first or visual first works the same way
- updated a couple demos
- should be 100% backward compatible
Merge branch 'master' of git://github.com/psychopy/psychopy

# By Mark Hymers (9) and Jonathan Peirce (4)
# Via Jonathan Peirce
* 'master' of git://github.com/psychopy/psychopy:
  BF: dual screen option was not working under linux (thanks Robert Muil)
  DOCS
  Add changelog entry
  Cleanup left over port objects
  Place files in parallel/ directory
  Get logic right way round
  Sort out documentation for parallel refactor
  Add readData routine
  DOCS: minor
  ENH: slightly quicker to delete the contents of a list than delete the list (thanks Sol)
  Refactor parallel port access to use classes instead of globals.
  Add psychopy API compatible wrapper for inpout32
  Add abstraction layer to allow parallel use on linux

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
RF: streamlined checking of constant fields in components
DOC: changelogs
BF: import prefs in wizard.py

first-run and benchmark wizards were silently failing
Merge remote-tracking branch 'rem-jeremy/master'

Conflicts:
	docs/source/changelog.rst
	psychopy/CHANGELOG.txt