Setup the skeleton for the assignment with documentation and tests

* Document the problem statement in thecode comments along with input parameters and return values.
* Establish framework for unit tests

Makefile runs the tests with:
```bash
make test
```