added build, gitignore, and basic unit tests (will replace with a better testing system later