* Refactor BLE gateways:
-merge HM10 and ESP32 code
-publish sensor values with the other BLE device parameters to avoid MQTT multiple publication
-make uniform the case of mac adress id between HM10 and ESP32
-add the possibility to remove service data publishing either when sensors is recognised or not
-correct manufacturing data display
-merge process cleargrass methods
-check service data validity before processing
replace datastring with hex string handling, enable the direct use of an MQTT received hex signal w/o syntax change
correct a bug on protocol identification when the protocol is a derivative of another one and share a common name piece
* merge duplicate code into function setWorBMac
* rename setWorBMac to updateWorB
* add helper getDeviceByMac
* change updateWorB to use helper getDeviceByMac
* change isWhite to use helper getDeviceByMac
* change isBlack to use helper getDeviceByMac
* change isDiscovered to use helper getDeviceByMac
* eliminate duplicate devices walk for isWhite, isBlack and isDiscovered check
* fix a data corruption race between MQTTtoBT and discovery-functions
the ***Discovery functions every time create a new device unless this device is set to white-list before. as a result of this, the devices list contains the same mac multiple times with different flags
* eliminate duplicate devices walk for oneWhite check
because now we have a utility function 'createOrUpdateDevice' we can globally cache this as a single flag
* secure createOrUpdateDevice agains data races on multicore esp32
* fix the concept of the createOrUpdateDevice
c / c++ does not allow NULL as function parameter like modern languages
* use nkolban Semaphore helper class (already included and used from eos1d3/ESP32_BLE librarie)
this makes the semaphore handling more cleaner and readable
* merge duplicate code during createDiscovery into new helper createDiscoveryFromList
* replace excessive use of ZmqttDiscovery precompiler directive in ble advertised callbacks with dummy functions
for a better readability we can remove this because isDiscovered does not do a devices walk anymore
* fix build errors found by travis-ci
reduce gateway name
reduce parameters size
correct issue when using advanced config network
comment simple receiving per default (it is set in platformio.ini when necessary)