Either library!

Copying from haskell pretty hard here.  Implementation follows the ATS
definition of option closely.  Incredible amounts of phantom types going
on.
Add accept().  DNC.

I really like how we can clean up weird C APIs with ATS.

However, this required defining a memory allocation scheme with ATS,
which will require a bit of a toolchain fix, and we'll see how
duplicating that for travis goes. [ci skip]
Use the full set of functions to finish off a program.

For some definition of program.  Local testing suggests all is well, but
that ATS doesn't free the space for Either. :/

[ci skip]
Apply a patch to ATS2 before compiling to set allocation preferences.