More ideas for you to review

These are mostly little things, no new features or dramatic changes, just iterative improvements.

I cleaned up the directory structure, and added some build automation: notice the addition of the `-Wall` flag which enables all warnings on compile.

Also, I fixed on of the warnings we were getting at compile time: warning: `control reaches end of non-void function [-Wreturn-type]` which was caused by methods defined as returning an integer not actually returning anything (they made all of their changes internally).