Fix calculate subtotal without adjustments to use promotable item pricing, not the pricing on the order items

We need to use the promotable order item pricing because at this point in the workflow pricing has not been set on the order (so it is stale). Also, change scope of function from private to protected to allow overriding.