Fix tyop
Be consistent in which of Array#size and #length to use
Optimize Heap for deletions and disallow duplicates

The most common case seems to be that timers are cancelled before they expire, and the current implementation has a O(n) worst case for #delete. By keeping track of the indexes it can be reduced to O(log(n)). The easiest way to achieve this is to use a hash for the indexes, but that means that we can’t allow duplicates (without doing lots of extra work). The reactor already tracks the timers in a hash so this won’t be a problem for the current implementation.
Version bump to v1.2.0.pre9