Browse: tidying up the form processing a little bit, e.g. trying to avoid confusing things like empty string values.
Browse: changed the page_view field to a set of radio buttons, so the options are more visible.
Browse, metadata form: (1) added an image id field to ensure that we know which metadata form in the formset goes with which image in the database. (2) working toward making the metadata form an Ajax form.
Browse: refactored VisSearchFormHelper.js to be more like the Upload page's Javascript structuring.
Browse: added some comments / changed a couple of variable names in the metadata form JS's setUpBindings(), while reading/understanding the code.
Browse: (1) we now account for all the possibilities that neither, one, or both of the download/delete forms are present on the page. (2) moved all of the page's Javascript initialization calls to the bottom of visualize_source.html.
Browse: metadata form via Ajax is working on a basic level. Now need to make it user friendly (mainly, displaying the status of the submission, and reporting form errors).
Browse: metadata form JS has been rearranged slightly to accommodate a handler to run on any field change. When implemented, this will control the Save Edits button, a warning when the user tries to navigate away from the page, and so on.
The 'are you sure you want to navigate away' page leave warning can now be controlled in any page, using a util.js function. The functionality was just grabbed from the upload JS.
Browse metadata form: (1) when a field is changed, that field gets a blue border until the form is saved.
(2) when there are errors upon submission, the error messages are listed below the form, and the errored fields get red borders.
(3) the height-in-cm is now validated to be an integer of appropriate range. Need similar validation to check the lengths of the various CharFields.
Browse metadata form: added validation of max lengths of the CharFields; these max lengths are derived directly from the Metadata model's corresponding fields.  To facilitate doing so, renamed the form field names to match the Metadata model field names.
Browse metadata form: When filling in fields via the multi-edit checkboxes, the fields filled by the multi-edit now get outlined in blue (indicating changes), as they should.