Update error message on compile
Single curly braces instead of double are being used
Add division by zero case to the `CheckedDiv` comment
Guide: patterns.

Fixes #4417.
libtime: Implement Add and Sub for Timespec.
Remove innapropriate string mutability section.

Fixes #14948
Refactor BitV internals to not use macro, reduce duplication
Manual: add information about //!

Fixes #16569
librustc: Fix field offsets for packed structs.
Add test for passing/getting packed structs with ffi.
work around MinGW linker bug for ASLR on Windows

Closes #16514
Explain modulo in the guide.

Fixes #15954
Fixing bitvset is_disjoint, fixes #16587
Make comment about small bias in %.

Fixes #16354.
Fix underflow bug in core::str::Searcher::new for haystacks of length < 20
auto merge of #16580 : steveklabnik/rust/gh1498, r=pcwalton

Fixes #14948
auto merge of #16345 : EduardoBautista/rust/fix-error-message-in-guide, r=steveklabnik

Just some simple changes to the guide.
Add a test for the fix of issue 16589
auto merge of #16573 : ruud-v-a/rust/timespec-arithmetic, r=alexcrichton

This implements `Add` and `Sub` for `Timespec`, which enables `Timespec` to be used as a time span. For example:

```rust
let begin = get_time();
// Do some stuff.
let end = get_time();
let delta = end - begin;
println!("Doing stuff took {}.{:09d} seconds.", delta.sec, delta.nsec);
```
This resolves one of the points mentioned in #2153.
A few minor documentation fixes