Make file list selection independent of direction

When selecting a range from a row which is below the current view, do
not scroll to the bottom of the selection, and instead ensure that the
row which was clicked most-recently is the one which is shown in the tag
area.

https://bugzilla.gnome.org/show_bug.cgi?id=740134
Fix memory leaks in Save_File() error paths