librustc: adjust logic for cfg attribute and add not predicate.
Tests for cfg attribute.
Update run-pass/cfg-on-items.rs

Make comment describe actual behaviour.
Fix pretty printing for cfg test.
compiletest: Make pretty tests actually use compile-flags.
Mark cfg test xfail-fast since check-fast doesn't understand compile-flags.
auto merge of #5410 : luqmana/rust/cfg-and, r=graydon

This adopts the syntax from #2119. No more annoying workarounds involving wrapping in mods!