Bring Proc::Async up to spec

I wanted to make sure we don't bring out a documented release of Proc::Async
of which the API may change later.
Add deprecation cycle for Proc::Async

So that jnthn's examples from the YAPC::EU presentation still work
Put in sanity checks and appropriate exceptions
port MATCH object construction patch from nqp

I cannot see a speed improvement, but we allocate less objects.
Hopefully the jvm specific fudges can be removed by a more smarter
hacker. :o)
Oops, forgot one sanity check
Make stdout handling same as stderr handling
Basically pull patch of leont++ (RT #122722)