llvm.expect as intrinsics and use it in assert!-like macros

Two patches:

#### 1

access `llvm.expect.32` and `llvm.expect.64` intrinsics as `expect32` and `expect64` functions in `std::unstable::intrinsics` module. Module also has `likely` and `unlikely` wrappers.

#### 2

Use `expect32` function in assert!-like macros.

The patch doesn't provide any visible speed-up, but at least it shouldn't make things worse.