Cast Numeric Rule Variables to Decimal

Numeric Rule variables now validate decimals and also cast to Decimal instead of float.
Maybe just add a test with a Decimal here like `self.assertTrue(NumericType(Decimal('10')).equal_to(10.0))`