initial throttle object
tests/throttle: initial tests, 100% coverage

Fixed some issues in the throttle found during test writing.