restructured the robot class

added a setup method instead of having all the logic in the constructor.
this also makes creating a new robot class easier since it doesn't need
the host uri passed in.