Small optimisation to parser code.
Syntactic cleanup.
Change list instance of Readable.

Instead of parsing comma-separated values, parse proper Haskell lists,
i.e. with brackets and potentially nested.