libcore: Change `[const T]` to `const [T]` everywhere
libsyntax: Stop parsing `[const T]`.
librustc: Remove all uses of the old `[T * N]` fixed-length vector syntax
librustc: Stop parsing `[T * N]`.
librustc: Fix bug with newtype structs containing dtors
librustc: Require explicit lifetime binders
librustc: Modify all code to use new lifetime binder syntax
librustc: Enforce that `extern mod` directives come first, then `use` directives, then items.

Resolve them in this order as well.
librustc: Remove obsolete syntax
test: Fix tests
auto merge of #5571 : pcwalton/rust/extern-mod-shadowing, r=pcwalton

r? @brson