Implements New Attribute Syntax (#2569)

This implements the currently leading (inner) attribute syntax (#2569) while keeping backwards compatibility. Everything compile and passes (including two new tests).