core: add a reverse method to Ordering.

This flips the comparison and is designed to be used when sorting etc.
Yes, 

```rust
#![crate_type = "lib"]

pub fn flip(x: Ordering) -> Ordering {
    unsafe {
        std::mem::transmute(-(x as i8))
    }
}

pub fn flip_slow(x: Ordering) -> Ordering {
    match x {
        Less => Greater,
        Equal => Equal,
        Greater => Less,
    }
}
```

```llvm
; ModuleID = 'flip-ordering.rs'
target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nounwind readnone uwtable
define i8 @_ZN4flip20h03a52c86549bae53daaE(i8) unnamed_addr #0 {
entry-block:
  %1 = sub i8 0, %0
  ret i8 %1
}

; Function Attrs: nounwind readnone uwtable
define i8 @_ZN9flip_slow20ha529b27e73aad27cvaaE(i8) unnamed_addr #0 {
entry-block:
  switch i8 %0, label %join [
    i8 -1, label %match_case
    i8 0, label %match_case3
  ]

match_case:                                       ; preds = %entry-block
  br label %join

match_case3:                                      ; preds = %entry-block
  br label %join

join:                                             ; preds = %entry-block, %match_case3, %match_case
  %__make_return_pointer.0 = phi i8 [ 0, %match_case3 ], [ 1, %match_case ], [ -1, %entry-block ]
  ret i8 %__make_return_pointer.0
}

attributes #0 = { nounwind readnone uwtable "split-stack" }
```

```asm
	.text
	.file	"flip-ordering.rs"
	.section	.text._ZN4flip20h03a52c86549bae53daaE,"ax",@progbits
	.globl	_ZN4flip20h03a52c86549bae53daaE
	.align	16, 0x90
	.type	_ZN4flip20h03a52c86549bae53daaE,@function
_ZN4flip20h03a52c86549bae53daaE:
	.cfi_startproc
	negb	%dil
	movb	%dil, %al
	retq
.Ltmp0:
	.size	_ZN4flip20h03a52c86549bae53daaE, .Ltmp0-_ZN4flip20h03a52c86549bae53daaE
	.cfi_endproc

	.section	.text._ZN9flip_slow20ha529b27e73aad27cvaaE,"ax",@progbits
	.globl	_ZN9flip_slow20ha529b27e73aad27cvaaE
	.align	16, 0x90
	.type	_ZN9flip_slow20ha529b27e73aad27cvaaE,@function
_ZN9flip_slow20ha529b27e73aad27cvaaE:
	.cfi_startproc
	testb	%dil, %dil
	jne	.LBB1_1
	xorl	%eax, %eax
	jmp	.LBB1_4
.LBB1_1:
	movb	$-1, %al
	movzbl	%dil, %ecx
	cmpl	$255, %ecx
	jne	.LBB1_4
	movb	$1, %al
	retq
.LBB1_4:
	retq
.Ltmp1:
	.size	_ZN9flip_slow20ha529b27e73aad27cvaaE, .Ltmp1-_ZN9flip_slow20ha529b27e73aad27cvaaE
	.cfi_endproc


	.section	".note.GNU-stack","",@progbits
```