Use array as deepSerialize result holder

After $.param() serialization, array elements are encoded with the
array name followed by square brackets `[]`.

This breaks the code in private function deepSerialize() which uses an
object as the result holder, an array will do the form as-is and even
generates the exact same error if users really uses identical names in
their forms.

This allows more consistency between tests that use native form submit
and the form plugin.