Piecewise: input should work whether its tuple or ExprCondPair

Should fix `S(srepr(p)) == p` where `p` is a Piecewise.

If the Piecewise() gets an existing ExprCondPair it should not try
to deference it like a Tuple to build a new ExprCondPair.  Rather
it should just use the ExprCondPair.

But help!  It doesn't work...
> Why not check `ec` type instead?  If it's ExprCondPair - do one
thing, else ...

I tried that, but couldn't make it work.  See my first commit:
38ca929d22cc79326e94b9b7147f4eb5df8ee121 and comments above...