Added new attribute syntax with backward compatibility.

Signed-off-by: Daniel Fagnan <dnfagnan@gmail.com>
syntax: Tidy up parsing the new attribute syntax
auto merge of #13037 : alexcrichton/rust/attr-syntax, r=brson

This will require a snapshot to finish, but these commits update the parser to parse attributes of the form `#![...]`

Thanks to @TheHydroImpulse for all the initial work!

cc #2569