Addressed @justinfagnani's comments + added "amortized" where needed (for the single insertions, since it depends on `List.add`)
Merge branch 'heap' into merge-heap