Fix a bug where subs() forgets noncommutativity

I was doing some work with rewrite systems using noncommuting variables and discovered a bug in subs().
This is a simple fix and a corresponding test.  The problem was that the dummy variables in simultaneous substitutes did not preseve the parent's properties.