Allow defaultValue to be a function.

Why: There are situations where a new item being added to a dataSource
can have a default value that is not static. For example, when a foreign
key is not directly settable and isn't know until after a Grid has
already been initialized.

What: Proposed solution allows for function evaluation during model
initialization, in addition to using strict value types.

How: A slight modification of the defaultValue field to first set the
defaultValue to the given internal default from the defaultValues array,
then if the default value is not undefined, return the execution of the
function is the default value is a function type.

NOTE: Test cannot exactly confirm because the Grid is not a part of the
Core, but it does demonstrate the logic behind the idea.