meta: add catch unit tests

Adds a clause to build.sh to check out Catch from git
Adds a stanza to haywire.gyp to generate haywire_test
Adds a sample unit test in src/haywire/test/main.cpp 

I'm not sure why the PR is so messy; I tried to rebase it but obviously something
didn't work out.