Priority queue implemented with binomial tree from lecture with a update function added that allows the priority of nodes do be lowered while maintaining the invariant