Split Wheel into separate class

Now that wheel has another method, it's become independent enough to
warrant its own class.
Dependency Management pt 2

1. Isolate vulnerable external messages
Moving "diameter" into its own method
2. Remove Argument-Order Dependencies
Making args a hash and use default vals
Using Hash#fetch instead of || operator

Fetch allows the arg value to be nil or false and won't set to default
value. Great method. It checks if the key is present and then sets the
value, not the value of the key itself.
first 5 eulers (no peeking!)