[ issue 1194 ] Define non-empty lists as record.

The original definition was as pairs, renaming Data.Product._,_ to _∷_.
However, as _,_ has a different fixity as Data.List._∷_, parsing failed
after fix for issue 1194.  The new definitions declares List⁺ as record
with fields head and tail and constructor _∷_, which is given the same
fixity as in Data.List and Data.Vec, so the parser can handle it.
[ issue 1194 ] Release notes for new Data.List.NonEmpty.