Allows ordering strategy objects to be registered.
Refactoring: use `:global` for global ordering.

…rather than having special `set_global_ordering`
and `global_ordering` methods.

Also, simplify `Ordering::Registry#fetch`:

- No need to handle `nil`; the caller can pass
  :global.
- No need to handle callables; that's a bit of
  complexity we don't need. Callables can be
  registered.
- No need to convert the ordering name `to_sym`;
  it wasn't spec'd and I'd rather require folks
  pass symbols.
Simplify ordering API.

- Don't have separate `groups`, `examples` and
  `groups_and_examples` methods. There are very
  few use cases for having separate logic for
  groups vs examples and it doesn't justify the
  added complexity to have separate APIs. If you
  need to order them separately, put a conditional
  in your ordering strategy that branches based on
  the type of the first item in the list.
- Remove legacy `order_xyz` methods. These set the
  global ordering but didn't make that clear. Instead,
  the global ordering can be set by `register_ordering :global`.
Rename `--default` ordering to `--defined`.

`--default` was never a good name. (Consider that
if we had made `--random` the default, `--default`
would have been even more confusing).