Have scrape time as a pseudovariable, not a prometheus variable.

This ensures it has the right timestamp, and is easier to work with.

Switch sd variable away from 'outcome', using total/failed instead.
I'd do this to-second and to-float conversion at the last possible moment (in `recordScrapeHealth`), not here. Work with native Go duration types as long as you can :)