Add allowNull to property definitions

This will allow you to define properties that allow null as a value outside the scope of their defined type. Very useful for those APIs that are coupled to SQL backends where this is very common.