use for loop instead of while in SEQUENCE 

This avoids side effects:

   my @abc = ^10; my @ = @abc ... 4; say @abc;

See IRC log for this day.
using binding for better performance

There were concerns about loss of performance with for loop instead of while/shift.  A binding instead of an affectation might help.
Add IO::Path::Special for STDIN/STDOUT/STDERR etc
fix .lines on parrot
Allow build to be set in Attribute.new(...).
run S19-command-line/repl.t
Cleanup Part #1 of IO::Handle

- no longer does IO::FileTestable, has its own "handlers" now
- added support for IO::Special paths
- simplified a lot of unneccesary nqp::bindattr calls
IO::Path::Special -> IO::Special

No need to inherit from IO::Path, so this is a better name
Fix IO::Path.open
Fix open() and initialization of $*IN|OUT|ERR
Move IO::Special to the correct location
Make sure standard handles have proper encoding

And we only need one .open
Unbreak rakudo build on parrot

It looks like parrot gets thoroughly confused by using smart match in this way.
First part of cruft removal from IO::Handle

Because before, .IO would give you an unopened IO::Handle.  So any time you
would call a method on an IO::Handle that would require an open file, it would
have to check whether the file was open already or not, and whether it was a
directory or not.  Because it is now a lot harder to create an unopened
IO::Handle, we can drop the tests now.

This should particularly make loops with .get and .getc a *lot* faster.
Eradicate the IO::Handle "isDir" attribute
Deprecate IO::Handle.spurt

In favour of IO::Path.spurt.  Spurting on an opened handle is not really
anything else but print/write on the handle.
Deprecate IO::Spec.tmpdir in favour of $*TMPDIR

IO::Spec.tmpdir also now returns a Str, rather than (the recently changed)
IO::Path.  This unbreaks testing of File::Directory::Tree.
Deprecate IO::Handle.slurp|copy
Give up on IO::Path.all on parrot

Just too many strange errors, segfaults, repr_unbox_whatever errors that just
take too much time.  If someone wants to use this newer feature on parrot,
they are welcome to provide a fix!
Allow all possible file tests on .chdir/chdir()

Except on parrot, because it doesn't like IO::Path.all, so the old restriction
to <r>, <r w> and <r w x> remains there.