Get rid of terrible way for iterating over provided methods.
Remove some essentially dead code in method handling.
Fix some tests in rustpkg to not pollute the build directory. Closes #7278.
Get rid of cast on every self reference.
Fix another generics bug with default methods. Closes #7295.
auto merge of #7356 : msullivan/rust/default-methods, r=bblum

r?
.gitmodules: specify submodule.<path>.branch

So --remote can work.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Make ^~~~~ colour dependent on error/warning/note level. Also correct spelling of squigglies.
Refactor extra::term a bit

Move all the colors into a nested mod named color instead of prefixing
with "color_".

Define a new type color::Color, and make this a u16 instead of a u8 (to
allow for easy comparisons against num_colors, which is a u16).

Remove color_supported and replace it with num_colors.

Teach fg() and bg() to "dim" bright colors down to the normal intensity
if num_colors isn't high enough.

Remove unnecessary copies, and fix a bug where a terminfo parse failure
would try to use the wrong error and end up failing.
More 0.7 release notes
Fix a formatting bug in rusti
Fix some warnings in the check-fast tests
Remove the last traces of shapes
rustc: Eliminate extra failing case in metadata::loader::crate_from_metas

Closes #2406
priority_queue: implement simple iterator

Remove PriorityQueue::each and replace it with PriorityQueue::iter,
which ultimately calls into vec::VecIterator via PriorityQueueIterator.
Implement iterator::Iterator for PriorityQueueIterator.  Now you should
be able to do:

  extern mod extra;
  let mut pq = extra::priority_queue::PriorityQueue::new();
  pq.push(5);
  pq.push(6);
  pq.push(3);
  for pq.iter().advance |el| {
      println(fmt!("%d", *el));
  }

just like you iterate over vectors, hashmaps, hashsets etc.  Note that
the iteration order is arbitrary (as before with PriorityQueue::each),
and _not_ the order you get when you pop() repeatedly.

Add an in-file test to guard this.

Reported-by: Daniel Micay <danielmicay@gmail.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
deque iterator
iterators use deque ordering
A few iterator tests
Moving implementation details to a macro
Add method .set_memory in vec::bytes for &[u8]

Add new trait vec::bytes::MutableByteVector which currently defines one
method .set_memory().