sensors/sht21: major review and cleanup

Correct the bit used to identify the heater in the configuration.  Add
infrastructure to read both temperature and humidity in a single
blocking call, as supported for BMP180 interface.  Extend example to
perform diagnostic: enable heater, monitor sensor, disable heater,
monitor sensor.  Use EIC values to determine whether HTU21D or SHT21 is
being used.  Document and work around HTU21D I2C bus instabilities.  Fix
issues with persistent error on no-hold-master I2C bus policy.

Tested on both SHT21 and HTU21D.
sensors/bmp180: refactor to simplify extending test cases
sensors/bmp180: add test case and fix for overflow

AC1 is unsigned, and for a given BMP180 instance its value was large
enough that the intermediate scaling operation set the high bit,
resulting in a negative value where a non-negative one was anticipated.
Fix by explicitly using signed long.