Subtracts by from the value and returns the new value.
The update is atomic with respect to concurrent updates. Pass a negative by to add.