[WIP] fixing incorrect field emit order

I noticed that if you set `autoFields` to true but not `autoFiles`, you get a `part` event before `field` event. So for example, if I upload these things in this order:

0. field named "foo"
0. file named "afile"

Then I should get a `field` event for "foo", and then a `part` event for "afile". Instead I get `part` event for "afile" then `field` event for "foo".

So far this pull request has a failing test case - now I'm going to try to fix it.
I'm sure this is a critical bug, but it's not nice to throw the error; `mysql` had this in places and it's a huge turn off as soon as someone actually hits it; `mysql2` is the worst. I'm :-1: for throwing here (though we should still raise the error in a catchable way).