Fix robot name when loading from file

The names of the robots were incorrectly set because `code` was assumed to be a path in the initializer. To fix this, the Robot initializer now accepts a file path instead of code, and reads the file in for itself.