pulled out error string, added name checker to make sure name was unique and the proper format.  Started shortening the naming function
pulled out naming into its own method, Robot.new accepts names that comply with restrictions on name