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.
auto merge of #5410 : luqmana/rust/cfg-and, r=graydon

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