Add debug info tests

Fixes #2195.

The testing procedure mimics the way clang/llvm does their debuginfo tests - it creates a debugging commands script from directives in the header file which gdb runs in batch mode with the executable, and then checks if output is as expected. I have two very simple tests included, and they're both ignored because rust doesn't seem to emit good enough symbols for them to pass (by the way, I'll see if I can help fix that).

Note that once debug info tests are enabled, gdb will become a dependency for 'make check'.

(This replaces a pull request based on an earlier commit.)