Added an Infinium database query to find finished samples by date.

Modified the query which finds samples in a project, plus their data
files, to distinguish re-scans by their date and eliminate duplicate
records being handed to the analysis pipeline. (The pipeline rejects
them.)

Refactored the Infinium database queries to remove some duplication.
The response check was too strict; valid responses are a HashRef or an
ArrayRef, in the event of listing a collection.
Refactored --force flag handling to add elimination of duplicate plate
names.
Ensure that the resultset count is set to 0 in the event of no data.

Also some formatting noise.
Merge pull request #262 from keithj/devel

Changes to the Infinium database queries to introduce date selection