Add debug info for boxes
Add debug info for vectors
Add debug info for bare_fn type
Prevent debug info generation of zero-span nodes

If a node has a (0, 0) span, it was not in the source, so debug symbols should not be generated for it.
Add debug info test for boxes
Add debug info test for vectors
auto merge of #5824 : bleibig/rust/debuginfo, r=brson

This adds debugging symbol generation for boxes, bare functions, vectors, and strings, along with a tests for boxes and vectors.

Note that gdb will see them as their actual compiled representation with the refcount, tydesc, etc. fields, so if `b` refers to box, `b->boxed` will refer to its value. Also, since you seem to use the [C struct hack](http://c-faq.com/struct/structhack.html) for dynamic vectors, you won't be able to print out the whole vector at once, only one element at a time by indexing specific elements.