Refactored make_absolute into functionality on the Path
Improved windows path handling support
Added is_restricted() to path
Consolidate codes dealing with LLVM struct type
Emacs: Update emacs mode to be more similar to the vim mode.

Copy the keyword list, and add `self` so that it is somewhat highlighted
(being liberal with the correct categories).
Stop parsing capture clauses
auto merge of #5089 : sanxiyn/rust/llvm-struct, r=pcwalton

Note on `struct_elt`: the comment is wrong, it actually dereferences the nth element of LLVM struct type if it is a pointer. That's why `T_ptr` is removed in `callee.rs`.
Add Kang Seonghoon to AUTHORS
auto merge of #5103 : dbaupp/rust/emacs-mode-update, r=graydon

Copy the keyword list from rust.vim, and add `self` so that it is highlighted
(being liberal with the correct categories).

I'm not quite willing to dive in to clean up the emacs code yet, but at least this gets a (more) modern syntax highlighting list.
auto merge of #5109 : bstrie/rust/decapclause, r=pcwalton

I also deleted a test that would be entirely useless without capture clauses.
auto merge of #5111 : catamorphism/rust/authors, r=catamorphism
libsyntax: Remove a mutable field from the tests. rs=demuting
librustc: Implement a lint mode for mutable structures; deny by default. r=tjc
libcore: Move Cell to core and de-~mut core and std
test: De-~mut the test suite. rs=demuting
libsyntax: Stop parsing `~mut`
librustc: De-[mut] librustc (remove all mutable arrays). rs=demuting
test: De-[mut] (remove all mutable arrays from) the tests. rs=demuting
librustc: Make `&const [T]` mean the same thing as `&[const T]`
Removed deprecated `str()` functions in int-template.rs and uint-template.rs