Some preliminary work on Ord deriving (#26)
Deriving Ord, but only compare constructors

Currently any data stored inside constructors is ignored
Add functions relying on Ord to Prelude.List
Generate type family for EQ case
Derive Ord correctly for EQ case. #26 almost done
Document #26
Merge branch 'master' into ord-deriving

Conflicts:
	src/Data/Promotion/Prelude.hs
	src/Data/Promotion/Prelude/Ord.hs
	src/Data/Singletons/Names.hs
	src/Data/Singletons/Prelude/List.hs
	src/Data/Singletons/Promote.hs
Get deriving (Ord) working. Fixes #26.

This is a new implementation compared to Jan's. Why did I
change it? Two reasons: 1) I needed to incorporate the POrd
class, and I couldn't quite follow Jan's code. 2) If I
understand correctly, Jan's approach was still quadratic
(though much more efficient than mine).

Jan, feel free to replace the implementation of this if you
want to. I kept your work around, commented out.