BSD 2-Clause License

and more efficient heap-sort using a queue in `heap:build(..)`