Improved type checking in the Unit class
Units now properly multiply

Example:
(2*foot)*(3*meter) used to have incorrect units, or wouldn't work at all.
now it correctly converts one of the two
Addition appears to work
Subtraction now works and fixed a bug with multiplication

Previously there was a bug where you could not multiply by a Number. This
has been fixed