Add binheap_for_each() to apply fn to all nodes.
Add sbinheap for fixed max-sized heaps.

This patch adds the sbinheap data structure. Although
binheap is good for situations where heap size is unbounded,
optimizations can be realized if a maximum size on the heap
is set. sbinheap uses a pre-allocated buffer to hold all
heap data structures. The API follows that of binheap.