fix ArraySplice types to more closely match code
fix ArraySplice types to more closely match code

There's a bunch of .length checks on the |current| and |previous| args
given to the public calculateSplices() method (which are duplicated when
these params are passed places).

I've updated from {Array} to {!Array} in every case that an unprotected
`.length` check occurs (which would fail if the parameter is `null`).

Polymer/polymer,Polymer/polymer,Polymer/polymer