Gear class dependent of Wheel class

- Gear knows the name of the class Wheel
- Gear knows the name of a message that does not belong to it
  self (diameter)
- Gear knows the parameters requires by Wheel
- Gear knows the order of the parameters
Change Gear to only be awere of an object that responds to diameter
Gear with Wheel class dependecy
Isolates dependecy into initialize
Isolates Wheel creation into a explicit method
Isolate wheel diameter reference to a own method
Remove argument-order dependecies
Reversing dependencies