Refine *.cabal, README, .gitignore, and add .travis.yml

* when using ghc-7.4, with template-haskell >= 2.8 would cause building
  failure. hence I add another constraint in *.cabal