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.
Even if I thought generating a random string character by character were the best way to do this, I would suggest that generating the entire alphabet as an array each time was unnecessary work. You aren't relying on the order in any way here, there's no harm in caching the value. In fact, were I to rewrite this following your pattern I would do just that.