rejig to use crop percentages, save in db

Several changes here: make create_crops() take a specific
crop_percentage argument, rather than an unnecessary array of options.

The css crop position calculations are moved into crop_image(), which
is only called for a user-initiated crop, where the data_object_id is
known, and we assume that a height and width have already been stored
in the image_sizes table. The other time that the option crop_pct can
be set is when reharvesting a known data_object with a custom user
crop.

Other changes are to make the logic & names clearer in
create_content_thumbnails(), and comment more clearly about CS cropping
arrangements. Also allow for a non-square region to be selected (made
square later).