1. Cleaned up some //TODO code
2. Modified .travis.yml for Travis CI
3. Modified .classpath for mvn
4. Changed some logic in StreamUtil.java, the socket which NOT being opened by StreamUtil will not be closed.