Use return instead of returnValue(None).
Record variable data during experiment run.

- Add Variables object which collates variable changed events.
- Attempting to retrieve undefined variables return None rather than an
Exception.
- Put each variable's data into a separate file.
- Explicit set on variable definition to store initialisation data.
Fix the controls_if block.

No longer skips to ELSE stack on first empty IF input.