Updated units, interpretation of input. Added dimensionality typing.

I've added a few more units to the "default_en.txt" database.
I've also added a few plural forms to the units there.

I've used regular expressions to extend the power of the input parser to cover inputs such as:
"3 square miles"
"4 kilometers cubed"
"5 m^2"
"5,000 miles"

I've also added "dimensionality typing".
When the user says:
   my_quantity.dimensionality.type()
The user will get back:
"area", "length", "speed", "mass", "energy", "undefined", et cetera
This allows quick identification of what kind of units the input was.