librustc: Don't allow duplicate methods on a trait.
librustc: Don't allow duplicate methods on impls.
Add tests for duplicate methods on traits/impls.
libsyntax: Remove duplicate methods.
auto merge of #7064 : luqmana/rust/issue-7062, r=sanxiyn

Fixes #7062
Use DIBuilder in debuginfo
Made the while DebugContext mutable, not just created_* hashes
Disabled create_arg
Move "return" basic block after all other function blocks.
Debug loc for local var declarations
Removed extraneous string allocations.
Misc refactoring.
Fixed compile warnings.
Fixed whitespace "errors".
Fixed remaining issues to pass debug-test/* tests.
Made debugger scripts source line insensitive.
Converted vec::map to member.
Debug location for function epilogues.
Tidy warnings cleanup.