Refactor makefile, add hlint make target
Fix all -W warnings