Moves common macro functionality in MacroTrait.
Also unifies macro tests and space correction
Removed tests for macro functionality.
It's taken care of in SupportMacroTraitTest
Orders namespaces after vendor
Changes spaces to tabs and orders class uses.
Orders class uses by vendor then length.
Changes name from MacroTrait to MacroableTrait
Changes name of MacroTrait to MacroableTrait
Merge pull request #3542 from nicholasruunu/feature/macro-trait

Moves common macro functionality in MacroTrait.