- added "message" and "message_type" to protocol JSON (both are arrays which correspond to the cycle.  For example "pulses":[10,10,10], "message":[["alert","heres alert message"],["0","0"],["prompt","prompt message here"]]...
 - "message" produces output like this (corresponds to above example): "message":[["alert","heres alert message","ok"],["0",""],["prompt","prompt message here","my prompt response"]]...
 - "message_type" can be set as "alert", "confirm", or "prompt".
   - "alert" response from user must be -1+ to continue
   - "confirm" response from user is -1+ to continue, or 1+ to exit.  Any data collected so far will be displayed in data_raw, data which has been skipped is displayed as 0s
   - "prompt" response from user is any test or numbers followed by +
 - "message" is what should be displayed to the user (for example, "now choose a different leaf to continue")
 - added "note" located in the "environmental" object (works the same as the other env vars like temp, co2, etc.).  Allows user input test at beginning of end of measurement
 - for all user inputted text ("message" or "note"), char limit is 999, do not use any of the following: [ ] + " ' !
 - cleaned up unnecessary spaces in output data JSON
 - added ability to exit any delay (average, protocol, measurement, etc.) using -1+
 - added ability to exit a measurement (between protocols only, not inside a protocol) by using -1+-1+ (send these all at once, no delay)
 - now when there is no temperature and relative humidity sensor attached, it gives errors "no temp/rh found" or "no response from co2 sensor" type errors, in JSON format, in place of the values
 - added 1027+ to initiate a software reset.  This is used to finish a firmware update from a hex file.  Chrome and android apps can use this to complete update.

Signed-off-by:  <Greg>