Add feature from issue #228

Add feature from issue #228: defaultsTo can be a function  that runs on creation, in order to use as default random values, composite values and current time related values (new Date()), for instance.

Example:

```
...
attributes: {
  first:{
    type: 'string',
    defaultsTo: 'Foo'
  },
  second: {
    type: 'string',
    defaultsTo: 'Bar'
  },
  full: {
    type: 'string',
    defaultsTo: function(self){ return self.first + " " + self.second}
  }
}
...
```
full attribute default value will be 'Foo Bar'

Added tests to create and createEach for this feature