Add IO::Spec to build.

Seems to build OK, though doesn't quite work yet.
Add missing check for 0-count in subst.

Probably got away with this on Parrot due to s/// thunk not having any
params, which led to the passed param being ignored. On the JVM, it is
aware of such things. Fixes various of the tests failing with "Wrong
number of arguments passed; expected 0..0, but got 1".