Generate S0 transfigure implementations with a macro
Generate all transfigure implementations with a macro
Complete macro-based implementation of Transfigure instances
Scrap macros. Implement sorting a list of contexts in shapeless.

This is the first part of a full shapeless-based implementation.
Full stack implementation that handles some basic cases (i.e. one
context only)
Fix up implementation so that it handles stacks of two distinct contexts
Finished implementation. Handles stacks of at least three contexts, and
handles the "join" case (same context repeated twice as a stack)
Add standard library Either Layer implementation
Add \/ Layer implementation
Use an "outer" SortAndNormalize step. Be less dependent on Layer
Remove Layer and ensure there's only a single Sort/Normalize step.

This can do anything the previous impl did (since our only Layers were
for types that had Traverse instances), but means not every type in the
stack needs to be a Monad (only types where we actually call join)
Enable using Distributive as an alternative to Traverse
Update README and comments, including next direction
Allow "inert" parameterized type at the bottom of the stack.
Simplify TransfigureTo code.
Add @implicitNotFound annotation
Support flatMap/map chains; almost but not quite for/yield sugar
Cleanup; use ConcreteFunctorStack to implement transfigureTo, remove ApplyBind and friends
Admit defeat
Document the flatMap API
Merge pull request #3 from m50d/master

Reimplement generically in the height of the stack, using Shapeless