correct Arrow.parallel behavior.
moved first and choice methods from ArrowChoice to _BaseArrow.
remove Arrow.split and dup function .
change interface of Arrow.first, Arrow.choice, Arrow.second so they can accept arguments and
keyword arguments.
fix unused code in Arrow.parallel.
remove Arrow.first and Arrow.second methods.
moved fanout method from ArrowChoice to _BaseArrow.
Add Arrow.fanin method.