New updateLookupWithKey, delete

`delete` has been getting slower over time, as it becomes expressed in terms of update functions with increasing overhead. This gives a somewhat faster `updateLookupWithKey` (benefiting all the update and adjust functions) and a much faster `delete`. `adjustWithKey` would also benefit somewhat from a specialized implementation, but I was showing an advantage of only ~5%, probably not worth the code inflation.