Require a connection if a robot has any devices

Per #210, the Robot constructor will now throw an error if no connections are specified on startup. This should hopefully avoid ambiguous errors in the future.