Start adding crops to assets.

* Urls are returned by the file accessor named for the crop. EI: obj.file.admin_url
* Crops are global and field based. Can be specified as a dictionary or a CropConfig object.
* Copper is an configurable object that handle the known crops and their creation.
* Asset model is configurable
* Asset types are configurable
* Signals are sent on file changes