[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.
Oops, you answered this question above. Alright. I think I'm OK with raising this error in a catchable way. I'll do that before merging.