Fix for bug introduced in #155 (dividing numbers of the same unit type)

In my previous commit, the original value objects were modified before the operation. Although this fixed the problem in question, it meant that when one of the values was a variable, the unit would be missing next time the variable was used.

This commit removes the units from the new `NumberValue` instead, so the original values are unaffected. Apologies for this stupid error - I have also added a new test to cover this.