Fix #48

We now only go to an error state for a BT Connection if we really need to. In particular:
- we retry connecting if a device unexpectetly disconnects
- if a device could not connect to the IPs we sent it we report back a “connect failed” but don’t go into error state now - the web app can feel free to try and connect again if it wants to

This means we now go into error state and therefore disable a device when:
- the initial data we sent does not contain an identifier
- we retried connecting MAX_CONNECTION_RETRIES times without success
- a device does not contain the connichiwa service or the initial/ip characteristic