Allow defaultValue to be a function.

Solution for Issue #122.

**Why:** There are situations where a new item being added to a dataSource can have a default value that is not static. For example, if you are referencing a foreign key that has been defined elsewhere on the page and is dependent on what is happening at runtime.

**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 if the default value is a function type.

NOTE: Included test cannot exactly confirm because the Grid is not a part of the Core, but it does demonstrate the logic behind the idea in a testable way. However, I have modified my own version of UI for MVC to test this scenario, and it works properly.