Handle legacy options in the method_added hook

We only need to process the legacy options at load time, not each time
the class is instantiated, and only when there is an options method
defined.
Remove user-defined options method after evaluation

Now we can use the superclass options method for our own purposes.
Disconnect defined options from the build object
options.each only yields one argument to the block
Stop exposing defined options from the build object
Use public api when adding legacy options
add dev channel for Dart
remove trailing whitespace
dart: add 1.5.8 bottle.