Feature/cleanup and convention

This pull request does following:
- Add require template and boilerplate following the conventions of other C projects.
- Cleaned up code and use proper style.
- Added travis and makefile in the project.