Add 'Attributes' and fix bugs
[enh] Merge `StorageClesses` and `Attributes`

- To remove 'storage class' from grammar

  The word should be used only for semantic explanation.

- `enum` does not become one of the attributes

  enum private int x = 1;   // NG

- May allow meaningless attributes in statement scope

  void test() {
    private int x = 1;   // will be accepted
    deprecated("msg") void foo() {}  // will be accepted
  }
Tweak `Declaration` and `Decl`