Pull request for Issue665

@dretrex 
@davidChevrier 
Having looked at this more closely during the refactoring, there is a reason. Each AMLightweightScanInfo needs some data that isn't available from just the AMScan_table. It also needs runName, sampleName and ScanType, all of which would require a query each. This information is already loaded into the cache stored in AMLightweightScanInfoCollection, so if it does the single loading it only needs to do one query, and can then load the rest of the data from its caches.