added toJSON function which returns an array for enumerable collection
made it easier to understand the code by moving the prepare call into model constructor
made defaults object to a function to prevent instance default sharing
build mcapjs