Allow (Optional) Ordering Of Settings In settings-view

Discussed here: https://discuss.atom.io/t/configuration-item-order/12982

This PR:

* [x] Allows package authors to specify an `order` field in their package config schema
* [x] Sorts settings in `settings-view` by the order (if specified)
* [x] Falls back to existing default behavior (alphabetic sort) when no order is specified, or when two items with the same order exist

Configuration example:

```coffeescript
module.exports =
  config:
    aSecondOption:
      title: 'I Should Come Second'
      description: 'Really, I come second'
      type: 'boolean'
      default: true
      order: 2
    zFirstOption:
      title: 'First'
      description: 'Winner winner'
      type: 'string'
      default: ''
      order: 1
    cThird:
      title: 'I am in 3rd place'
      description: 'Hi'
      type: 'string'
      default: ''
    dFourth:
      title: 'I am in last because I am alphabetically inferior'
      description: 'Bye'
      type: 'string'
      default: ''
```

Note: Underscore's `sortBy` is a stable sort, so we can chain the two sorts together reliably.
If there is no order at all, everything is sorted alphabetically, as it is done today. If an order is specified, ordered items are put first, followed by unordered items (which are sorted alphabetically).