Description

NewRobot returns a new Robot given a name and optionally accepts:

[]Connection: Connections which are automatically started and stopped with the robot
[]Device: Devices which are automatically started and stopped with the robot
func(): The work routine the robot will execute once all devices and connections have been initialized and started

A name will be automaically generated if no name is supplied.