initial commit

this includes:
- the first iteration of a Makefile
- basic directory structure with tests
- basic support for documentation