tutorial: remove duplicate link references.

`pandoc` issues warnings.

```
pandoc: Duplicate link reference `[macros]' "source" (line 2151, column 1)
pandoc: Duplicate link reference `[tasks]' "source" (line 2150, column 1)
pandoc: Duplicate link reference `[wiki-start]' "source" (line 92, column 1)
```
tutorial: remove unused link references.
hashmap: Remove .consume() has rename .consume_iter() to .consume()

Updated all users of HashMap, HashSet old .consume() to use .consume()
with a for loop.

Since .consume() takes the map or set by value, it needs awkward
extra code to in librusti's use of @mut HashMap, where the map value can
not be directly moved out.
auto merge of #7833 : blake2-ppc/rust/hashmap-consume, r=alexcrichton

Updated all users of HashMap, HashSet ::consume() to use
.consume_iter().

Since .consume_iter() takes the map or set by value, it needs awkward
extra code to in librusti's use of @mut HashMap, where the map value can
not be directly moved out.

Addresses issue #7719
auto merge of #7845 : gifnksm/rust/tutorial-remove-dup, r=cmr

`pandoc` issues warnings.

```
pandoc: Duplicate link reference `[macros]' "source" (line 2151, column 1)
pandoc: Duplicate link reference `[tasks]' "source" (line 2150, column 1)
pandoc: Duplicate link reference `[wiki-start]' "source" (line 92, column 1)
```

This PR also removes unused link references.
Start of data structure cleanup for trait system. Get rid of CoherenceInfo, make trait_impls less bogus.
Refactor some coherence/method trans code, add an impls map to tcx.

Rewrite method_with_name_or_default to use the new impls map.
Get rid of ProvidedMethodsMap.
Get rid of resolve::MethodInfo. Closes #4946.
Add provided method information to ty::Method. Get rid of ProvidedMethodSource.
Refactor a handful of stuff in the metadata encoder.
Export information about used default methods instead of regenerating it. Closes #7862.