Change DST syntax: type -> Sized?

closes #13367

[breaking-change] Use `Sized?` to indicate a dynamically sized type parameter or trait (used to be `type`). E.g.,

```
trait Tr for Sized? {}

fn foo<Sized? X: Share>(x: X) {}
```
libcore: Deprecate advance method on Iterators.
libcollections: Use iterators instead of old-style loops.
libgetopts: Use iterators instead of old-style loops.
libsyntax: Remove uses of advance.
librustc: Remove uses of advance.
tests: Remove uses of advance.