Working on #6 by removing Object.defineProperty dependency on Model.js.

Set and get operations are now done the set() and get() methods
respectively. update(hash) has been replaced by set(hash). Models now
support events by using on(event, filter, callback) and trigger(event,
filter). Because Handlebars does not let you use methods in the views,
properties must be retrieved via the .properties[key] property rather
than .get(key) method. Collections still exist directly on the Model
instance (version.library etc).
Updating the codebase to use the new Model API

Specifically, using set() and get(), replacing update() with set(), and
using instance.properties[key] in the views.