Improve instance promotion. Fixes #56, #57

* instances with overlapping equations are now supported
* number of equations in derived instances of Ord is now
  linear in the number of constructors