better handling of case properties that look like other datatypes + tests

this is to work around a completely ridiculous "feature" (bug) in couchdbkit that produces the following results:

```
> action = CommCareCaseAction()
> action.updated_known_properties = {'foo': '12.0'}
> action.updated_known_properties
{'foo': Decimal('12.0')}
```