Do doesn't work with varidic functions

When Do calls a function, it always calls with the number of arguments
that the expect was registered with - so we shouldn't be using a
varidic function (as it will actually only work when there is only one
argument for the varidic part).
Create scenario for all stdlib packages

Create a new test scenario to test that we can mock all of the stdlib
packages.  Rather then fixing them one at a time as someone finds they
don't work ...
Use build constraints to exclude files

In addition to looking at filenames, we now use build contraints to
exlucde files based on OS and Arch.
Call goodOSArchFile with just filename

The way the goodOSArchFile works basically assumes that it is only
given a filename - previously it would go wrong if any directory had a
dot in its name.