Vinyl should be spine-strict

Reminder that you can recover laziness by changing the applicative
modality to a suitably lazy version of the identity functor.
Add lazy Identity idiom and LazyPlainRec type synonym

Look ma, we didn't have to duplicate the entire Vinyl source just to get
laziness and strictness where we wanted it.
Derive Foldable, Traversable for Identity and LazyIdentity

Per discussion on #34 (@acowley)
Bumped major version.

Though they look and act the same, the PlainRec type is different from
what it previously was.