Pull Request for Issue1006 - Can't sort/filter by run when opening scans in GSE

Added a new ui class AMSortFilterScansWidget, which is a specialization of AMSortFilterWidget, designed for the filtering of Scans - including a combo box for filtering runs (defaults to showing all runs). 

This involved adding some functions to expose data required by the widget/proxy models to get the list of runs.
I think QHash's are implicitly shared, so I _think_ you can return it as a ```const QHash<> &``` reference.  This will only do a deep copy if you modify it.  Would that help?