Config order and grouping

@augustf I think this is ready now.  I wasn't sure how to get the old one "up-to-date" with all those other commits already applied to master, so I created a new branch off of master and then merge my other config_ordering branch into it (except for the one conflict) and then applying the conflicting changes manually, and then pushing that up as a new branch.  This addresses #548.