Added some context managers:

throttle(seconds=...):  this function allows you to throttle with statements
maybe(predicate=...):   this function allows you to conditionally execute
                        a block based on the result of a predicate