Decouple periodic timer creation from scheduling
Add a failing test
More options for periodic_timer

::BW::Reactor.add_periodic_timers takes an options hash.
options[:common_modes] allows one to request NSRunLoopCommonModes
modes for the timer.
options[:callback] allows one to supply an alternative to the block
options itself can be callable, which preserves the existing API
Test preservation of the existing API
Cleans up the new API.

Support existing (not block) callback argument or options hash, or both.