Add YCM extra conf
Minor refactor
Add unit test
Add valgrind suppression file
Add obj dir to gitignore
Refactor world module