Computed properties for fields

As discussed in #9...

Store attributes in a private data field. RESTless.{attr,belongsTo,hasMany} now generate computed properties similar to ember-data.

Observers for dirty-state tracking are now added at class definition time via `didDefineProperty` instead of at every instance initialization. Improves model instantiation and collection loading performance.

Adds:

- Supports default values. Use `defaultValue` option when declaring an attribute. Supply a value or function.

- Class-level `fields` property returns options for every attribute and relationship in an Ember.Map. `attributeMap` has been removed.

Fixes:

- Related records passed to `create` were being overwritten by `_initRelationships`. Relationships are now initialized lazily using the `defaultValue` mechanism. Also improves performance.