Fix global name 'cls' is not defined
Fix unsupported operand type(s) for +: 'datetime.datetime' and 'int'
Fix for action() takes exactly 2 arguments

  File ".../lib/python2.7/threading.py", line 808, in __bootstrap_inner
    self.run()
  File ".../lib/python2.7/threading.py", line 1080, in run
    self.function(*self.args, **self.kwargs)
  File ".../RxPy/rx/concurrency/timeoutscheduler.py", line 40, in interval
    disposable.disposable = action(scheduler, state)
  File ".../RxPy/rx/concurrency/scheduler.py", line 205, in action2
    return self.invoke_rec_date(scheduler, pair, method='schedule_absolute')
  File ".../RxPy/rx/concurrency/scheduler.py", line 113, in invoke_rec_date
    recursive_action(state)
  File ".../RxPy/rx/concurrency/scheduler.py", line 112, in recursive_action
    action(state1, action1)
  File ".../RxPy/rx/concurrency/scheduler.py", line 187, in action1
    _action(func)
TypeError: action() takes exactly 2 arguments (1 given)
Add test for failing use of timer
Fix TypeError: action() takes exactly 2 arguments

  File ".../tests/test_observable/test_timer.py", line 85, in test_periodic_timer_basic
    results = scheduler.start(create)
  File ".../rx/testing/testscheduler.py", line 90, in start
    super(TestScheduler, self).start()
  File ".../rx/concurrency/virtualtimescheduler.py", line 89, in start
    next.invoke()
  File ".../rx/concurrency/scheduleditem.py", line 16, in invoke
    self.disposable.disposable = self.invoke_core()
  File ".../rx/concurrency/scheduleditem.py", line 25, in invoke_core
    return self.action(self.scheduler, self.state)
  File ".../rx/concurrency/virtualtimescheduler.py", line 66, in run
    return action(scheduler, state1)
  File ".../rx/concurrency/scheduler.py", line 205, in action2
    return self.invoke_rec_date(scheduler, pair, method='schedule_absolute')
  File ".../rx/concurrency/scheduler.py", line 113, in invoke_rec_date
    recursive_action(state)
  File ".../rx/concurrency/scheduler.py", line 112, in recursive_action
    action(state1, action1)
  File ".../rx/concurrency/scheduler.py", line 187, in action1
    _action(func)
TypeError: action() takes exactly 2 arguments (1 given)
Merge pull request #15 from mvschaik/fix-timer

Fix timer with period