Implement #add_coordinator for Robot class

This message is intended to be used by the simulation
class so it can register as a coordinator for
robot movements.

This commit also modifies the Simulation class
to take advantage of this feature.

This commit includes test and implementation code.
Fix bug in acceptance test

Application input was being fed a String, but it required
an object that could respond to #gets.

Solution introduced in this commit is to use StringIO based
on the original String and feed it into the Application
instance.
Fix Robot specs to accomodate #coordinates checks on its pose.
Add builder role to Paddock class
Add builder role to Pose class

This commit moves the Orientation module into a separate
file, for simplicity.
Minor reword of Pose spec
Add builder role to Robot class
Rewrite Parser module to use builder roles

Parser now depends on builder (Robot, Paddock). This trades off
depndancies for knowledge, and in this case results in a slimmer
Parser module, with less know-how.