Perform expansion before stripping/building a test harness.

This allows macros to create tests and benchmarks.
Correct testcases that passed because fns with #[test] were stripped before expansion.
auto merge of #6383 : huonw/rust/rustc-expand-then-strip, r=thestinger

This allows macros to create tests and benchmarks.

This is possibly unsound (I've got no idea, but it seemed to work), and being able to programmatically generate benchmarks to compare several implementations of similar algorithms is nice.