Allow options.defaultValue of DS.attr to be a function

This change allows the defaultValue defined for a DS.attr to be a
function, so it is possible to do something like this:

```
User = DS.Model.extend({
  createdAt: DS.attr("date", {
    defaultValue: function() {
      return (new Date());
    }
  })
});
```

This closes #878
Merge pull request #879 from pangratz/allow_function_as_default_value

Allow options.defaultValue of DS.attr to be a function