CMS-4070 Improve handling of value types in Typescript
Most files changed because of moving value type related files to api.data.type
Made it not possible to create a Value unless it's value is valid
Introduced methods in class Value: isValid, isConvertible, convert, valueToNumber
Introduced BooleanValueTye and LongValueType
Generated json fro a property is now writing numbers and booleans (instead of strings) if the value type is so