Refactor as Maven project; Support Travis ci build