Fixed lifetimes on syntax deriving structs, implemented Clone

Makes working with syntax deriving a bit more pleasuring. For instance, once can use local (non-static) strings anywhere inside `TraitDef` now.