Uda gcc attributes

This adds module gcc.attribute which contains function attribute(), which replaces pragma attribute and is used like this:

```d
@attribute("attribute_name", arg1, arg2) foo(){}
```

This pull request does not remove the code that deals with GCC attributes from the front end.  The code is still there, but it basically does nothing - it would probably be a good idea to remove it too.