Prevent loosing empty strings in arrays when includeEmptyFields set to true

For example, when I'm sending an array ['a', 'b', ''], the entire field would become empty because in the last handler for '' it will straight away go into: `req.body[fieldname] = val;` and thus empty.

Here I also feel that `includeEmptyFields` should not be handled in the `on field` event, it should be handled after the parsing is done, then remove potential empty fields. I might not want empty fields, but I might still want ['a', 'b', ''] to be accepted (albeit as ['a', 'b'].