Create interface of Either class
Fix interface of Either

* Fix using optional declaration
* Remove redundant assign operator which takes Right type
* Add swap
* Add ref-qualifier and overload to operator*
* Add non-const overload to operator->
Add implementations for Either
travis.yml にlibboost-dev を追加
Fix a bug

Write template type explicitly
Tests for klang::Either.
Merge pull request #59 from kmc-jp/either
Eitherを作る
Merge pull request #67 from kmc-jp/test_either
Tests for klang::Either.