changing gears a bit on the "overloaded" find() CRUD implementation

Using separate callbacks for find() vs find(record) usages. This allows for easier disambiguation when handling the API response data (return a model object or an array of model objects?).

Still experimental at this point.
another's day iteration through quarry-data.js

Mortar, MortarBulk, Layouts, and Logging remain unpolished.

Lots of generalization in the Quarry.Model class definition:

- apiCallback(data) for returning the data array
- apiRecordCallback(data) for returning the element at index 0
- modelCallback(instance) for returning a new model instance from the data response array @ index element 0
- modelsCallback(instance, sort) for returning an Ember Array of model instances, optionally sorted by key
- findCallback is an alias for modelCallback
- findAllCallback is an alias for modelsCallback
- updateCallback is an alias for modelCallback
- addCallback is an alias for modelCallback
- removeCallback is an alias for modelCallback
- api(verb, path, params, data) is a generic function for performing a Quarry.ajax() call with the generic apiCallback() and errorCallback() options