* Progress display for uploads remains busy until the last file is finished
* Cropping is respected by slideshows (slideshow.html) and by any call to aposFilePath as long as you supply the crop property
* Minimum size is enforced for new uploads
* Autocropping occurs when you save a slideshow if any of the images are more than 1% off the specified aspect ratio
* Home page slideshow has minSize and aspectRatio constraints in place
* md5 is calculated for all uploaded files
* self.md5File helper is available
* apostrophe:migrate computes md5 for existing files
* apostrophe:migrate obtains width and height for existing files
* apostrophe:migrate pushes md5, width and height into denormalized copies of file objects found in widgets
* apostrophe:rescale also rescales cropped versions of images
* If you upload a duplicate file the existing one is silently reused via md5 check
* self.forEveryPage is now self.forEachPage for consistency with async and underscore
* self.forEachFile, ditto
* self.forEachArea introduced. Iterates over all areas anywhere on the site, for migration purposes
* self.forEachItem introduced. Iterates over all items (rich text items and widgets) anywhere on the site, for migration purposes
* self.forEachFileInPages introduced. Iterates over denormalized copies of file objects also available in the aposFiles collection, for migration purposes (such as syncing updated information when we decide to retain more metadata about files, which in theory never change)
Merge branch 'master' of github.com:punkave/apostrophe