Make Instant.perl to produce eval-able code

Instant.new takes one positional argument, not a argument named x
Add naive IO::Spec::Unix||Win32.basename

Mostly for internal .dir usage, as it doesn't handle edge cases well
Fix dir() on all backends

- :test now works as intended
- :absolute parameter (new spec) also works
- :CWD parameter doesn't work correctly yet on all backend (todo)

I hope future backends will just work as moar  :-)
Merge pull request #318 from b2gills/nom

Make Instant.perl to produce eval-able code
Fix IO::Spec::Win32.basename

b2gills++ pointed out that slashes were ok too, since MS-DOS 2
Add  IO::Path.chdir
Update chdir(), add indir()
Bring chdir up to spec
Make sure we don't lose failures
Make IO::Path.chdir also a class method

For the so inclined, it's basically $*CWD.chdir
Reintroduce tmpdir(), homedir(), update chdir()
nqp::eoffh on parrot does not detect EOF early

This re-introduced code that checks if we are at EOF. Also bump nqp for nqp::eoffh fix.
fix repl on parrot and jvm

$?FILES can be NULLish and we have to check instead of strcmping it against something.
First step in fixing $*TMPDIR
Implement EXPORTHOW::SUPERSEDE.

Also detect and complain about invalid directives, and report DECLARE
and COMPOSE as NYI so far. Keep existing things working for now; we
can start issuing a deprecation warning in the future for a plain use
of EXPORTHOW::class, and remove it a bit further into the future.
Run S12-meta/exporthow.t.
Add naive $*SPEC.extension for basenames
Properly use basename/extension
Put a canary in chdir()
Fix typo