Fixes for broken duration

Duration property is currently broken in two ways:

1) toMS() is called twice and the checking for a string means anything is always set back to  to $.fx.speeds._default  e.g.  {duration: 1500}  , 1500 > "1500ms" > $.fx.speeds._default

2)  For code like
$("#box).transition({ x:"+=100px", duration:1500  })
.transition({ x: "-=100px", duration:1500 })
the second duration reverts to default because of deleting the property.duration property the first time around. Deep cloning properties works around it.