Added `@DefaultValue`

This defines a callack function (or static method) which is called *when* the property has no value. It is called before the validation stage.

As an example added `@AutoincrementBy` example, which generates auto increment numbers with a given scopes (the argument to this annotations are property names)