The big rename: "Protocol" replaced with "Task" throughout.
more name changes
More renames
corrected protocolStarted -> taskSequenceStarted
Copied ViewBox fix to continue testing
Minor fixes:
 - Camera should work with no parent device
 - fix pg.ViewBox exception when dragging view with both axes disabled
MockClamp now uses pyqtgraph.multiprocess
added hh simulator for use when neuron is unavailable.
Fixed ListParameter bug when initialized with empty list
Fixes:
  - Camera now reports whether it was able to get precise frame timing in
    a task
  - Scanner uses this flag to determine whether a calibration is valid
  - Scanner calibration 2nd-order fit coefficients are temporarily
    disabled
Fix:  NiDAQ correctly lists devices which can trigger a task
Fixed SutterMP285 limit-setting buttons
Fixed import error in Imager
Disabled closing Manager docks
DataTreeWidget: fixed error caused when dict is updated while being parsed
by the widget (threading issue)
Built-in neuron simulator is complete.
Added mutexes to RemoteEventHandler so it can be accessed across threads.
Merge branch 'hh_simulator' into develop

Adds pure-python HH simulator for use in MockClamp when NEURON is not available.
Merge branch 'protocol_to_task' into develop

Renamed ProtocolRunner to TaskRunner. This fixes the longstanding confusion about the difference between tasks and protocols (there is no difference).
Also includes a few unrelated bugfixes that were required in testing these changes.
Add a single example config to be used when no other configuration is found.
- filled out example configuration
- removed backup configs
- acq4.py loads example config if no others are found,
  displays welcome message.
Took out link to tutorial (because there is no tutorial yet)
cleaned up example manager gui