Names and Identifiers

Able to parse this following productions

```haskell
-- | A single identifier [ident]
---  e.g foo
data Ident = Ident String
           DERIVE

-- | Identifiers separated by period [name]
--   e.g foo.bar.baz
data Name = Name [Ident]
          DERIVE
```