Multiple ID support and All support, and fixed relay bug

1) This commit adds support for multiple ID's per device. Check
the README.md on how this new syntax looks.
2) This commit also adds support for the All function of certain
protocols. The config lib will now match only those ID's that are
communicated by the protocol. In case of the All function of
the arctech protocol, only the "id" matters, so the "unit"
isn't communicated. The config will then search all devices
matching only this "id" value and change it's state. When both
the "id" and "unit" are communicated only those devices matching
both will get updated. Just like the actual devices.
3) This commit also fixes a small bug in the relay protocol in
which the currently used hardware mode wasn't correctly
identified and thereby incorrectly complaining about reservated
gpio pins.