GDA-6083: Call to getLastScanDataPoint() return NULL when called from a scannable's atScanEnd() if you only have one scan data point. 

Ensure the last scan data point is called before atScanEnd of the scannables.

Task-Url: http://jira.diamond.ac.uk/browse/GDA-6083
GDA-6084: fix the mis-map of call atScanEnd() and atScantStart() in the ScannableImpl
http://jira.diamond.ac.uk/browse/GDA-6084
Merge branch 'gda-8.42' of ssh://dascgitolite@dasc-git.diamond.ac.uk/gda/gda-core.git into gda-8.42