Extract some repeated code in ImageTruck
Fix a bug in async uploading

When the controller receives a file, it calculates a filename and tells
the page JS about it. From that point on, that has to be the filename;
recalculating it after reorienting isn't ok. So freeze the filename on
ImageTruck initialization.
Fixes for edge-cases on async uploading

* if an image is smaller than 100x100, it won't have a thumbnail version
* Upload thumbnails first, so the JS can see them ASAP
Check for image availability a little more often
Images on the add page link to the view page
Don't specify a filter to ImageMagick

Turns out, unlike PIL, magick is smart about choosing a sensible filter
for the context.
Format error responses according to the request
[reword] Append a new add article after each image upload

The change from .change to .on('change' makes the handler apply to new
elements (like older-jquery's .live() did)