#11 - fix extraProperties issue	

Not sure of the ideal behaviour here:

The bug was being caused by:

The getter/setter being defined on the first instance to create a property at runtime, but the definition of the property being stored in this._definition, which is the same object as prototype._definition. Thus, when the second model tries to add the property, the definition is already in the prototype hash, so it doesn’t go ahead and create the getter/setter on the instance.

This fix works, because it ensures the getter/setter is created on the prototype, rather than the instance. This _works_ but I’m not sure it’s the correct fix? The alternate fix is to store “instance definitions” separately from “prototype definitions”.

fixes: #11
BBTest - implement clone.
BBTests - implement “has”
BBTest - change _changed to changed as per backbone.
BBTest - initializing a model shouldn’t count as a “change”
BBTest - Allow additional static properties to be passed to extend.
BBTest - _values should be available before parse?
Fix extra properties so that they are defined on the instance not the prototype.
now initting children
Instantiate collections same way as children. Ensure they can process incoming data same as children.
make serialize also serialize children and child collections
remove has/clone per discussion
renaming changed back to _changed. Removing static props. Updating or removing tests as necessary
merging bb-test-fixes