Fixed reordering problem with programme fields

Now correctly pulls out the field order value into the section/programmefield array so that both sections and fields can be correctly ordered. Wrote a test to make sure reordering works ok.