Robot name 20141001 rc

Refactor of the Robot Name exercise. Split the `initialize` method into numerous smaller methods. Split error message into two separate messages allowing for more detail.

I'm not a huge fan of the `generate_new_name` method, my thinking was that anything more clever/dynamic would need to tie into `valid_name` so that the robot naming format could be changed from one place instead of two.
This belongs at the call site, not in a boolean method.