Keep body fields in the order they were provided in.

Some (non-standard?) APIs seem to rely on the order of fields in requests.
Using the order keys come out of the HashMap is suboptimal in this case, so
I've added a list to track the original order.
Merge pull request #33 from tcoxon/ordered_fields

Some APIs require fields in a particular order.