BF: In QuestHandler.addResponse(), do not try to replace existing intensity if intensities list is empty.
BF: Fix KeyError when starting Builder experiment

The experiment crashed when starting from Builder and "Experiment info"
contained no field with name "participant", "Participant", "Subject" or
"Observer" but fields with names containing these names. For example if
a field was named "ParticipantID" this showed the dialog asking for the
value but crashed afterwards because "Participant" was looked up. Fault
was that the settings component checked the keys for experiment info by
looking into the serialized form of the dict and found sub strings this
way. This was fixed by using the eval()ed dict to check the keys there.
RF: Shorten similar statements.

An if statement with three similar bodies was changed into a for loop.
Merge pull request #449 from philippwiesemann/fix-builder-settings-crash

BF: Fix KeyError when starting Builder experiment
Merge pull request #447 from isolver/master

Misc. iohub related ENH and BF
TESTS: added basic test for running staircase. Needs check on data outputs though
ENH: activated the new Code Component box by Sol.

Also added some space around code panel, to emphasise that this is a dialog still
Merge remote-tracking branch 'upstream/master'
Merge pull request #438 from hoechenberger/master

BF: Do not try to replace existing intensity if intensities list is empty
ENH: change orientation convention in ElementArrayStim to match that of other stimuli
DOC: describe orientation convention in BaseVisualStim and ElementArrayStim
Merge pull request #451 from djmannion/master

ENH,DOC: flip ElementArrayStim ori, and document convention
ENH: builder text flip - better tooltip and value checking
Merge pull request #452 from jeremygray/master

ENH: builder text flip - better tooltip and value checking
ENH: Framebuffer object (FBO) now available. Supports the following...

- avg or add blend modes (for genuine superposition with floats)
- each pixel is now checked for bounds at flip() and converted to blue or
	red noise if above or below bounds
Merge branch 'master' of github.com:psychopy/psychopy
BF: Window.viewPos and Window.viewScale should be tested using `is None`

Otherwise, if they've been set to be numpy arrays the test will fail with:
`ValueError: The truth value of an array with more than one element is ambiguous`
ENH: working on adding multi-page component dialogs
ENH: Jon likes flatnotebook more than wx.notebook (especially on mac)
BROKEN: various dialogs not working while I fix multi-page dialogs
BROKEN: nearly working again though!