Clean up El in Intro.lhs
Remove singleton stuff from subtyping relation
Make := and <-: singleton-implementation agnostic

It is interesting that this is possible...
Make the lenses also singleton agnostic (!)
Vinyl is entirely independent of a particular singletons implementation

I had to replace the complicated Show instance with something I like
better to make this work. Basically, just give a record of names for
your universe as follows:

    names :: PlainRec (U.Const String) [Name,Age]
    names = SName =: "name"
        <+> SAge =: "age"

Then use `showWithName names rs` where `rs :: Rec el f [Name,Age]`, such
that `Show f (el $ r)` is satisfied for all the rows.

You may optionally give `names` as an `Implicit` instance and then use
`rshow rs`.
Correct some docs
Add a bit of TH to simplify the universe construction
Add macros for giving El

This is pretty dope
Cleanup in Data.Vinyl.TH
Merge pull request #43 from VinylRecords/templates

Add a bit of TH to simplify the universe construction
Use (r ∈ rs) instead of IElem r rs
Turn on more warnings; move orphan instances to Core

Also renamed Data.Vinyl.Relation to Data.Vinyl.Constraint
Make showing records look less ridiculous

Closes #10
Merge branch 'vinyl-0.4' into feature/corecords

Conflicts:
	Data/Vinyl/Core.hs
Bring corecords up to date

This decouples corecords from Data.Singleton. Unfortunately, CoRec needs
to take the singleton type constructure it uses as a parameter (unlike
Rec). Might also be interesting to think about a less finely-grained
CoRec that doesn't take a list of rows.