Define constants appropriately

Remove inappropriate global variable.
Add appropriate constexpr variable.
Remove anything but special member functions
Use union instead of optional

Implement special member functions which handle union.
Add friend operator overloads
Add operator overloads for member access
Add constructor of Either
Add Left and Right wrapper class
Add accessors
Add mechanism for implicit conversion
Add emplacement methods
Add helper function to create Left and Right
remove libboost-dev from travis.yml
Merge pull request #80 from kmc-jp/deBoost

remove libboost-dev from travis.yml
Call constructor of constexpr constants explicitly
fix either test for union-either
Merge pull request #81 from kmc-jp/union-either_test

fix either test for union-either
Make enabler escape from unnamed namespace
Merge pull request #79 from kmc-jp/union-either

unionを使ったEither