Add some initial work on constraint representation.
Update .gitignore.
Fix include guards (add namespace name).
Move Makefile to project root.