utils object created

    created extend function, used for object merging, based on
    underscore.js's implementation.
Model constructor created.

    Uses Object.defineProperty to use ECMA 5 getters and setters,
    with type validation, based on original type for now.
    performance wise this is pretty damn bad. all propertys are private