Moved source code into `src` dir to follow convention
Begin adding tests

Writing the helper class for tests in the main library to aid in writing tests
that use the library.
Move util functions into folder
Clean up of codebase

Moved the completion generation stuff into a util function to decrease
complexity.  Cleaned up code against a linter.  Added some explanation to the
test case docstrings.
Add Makefile and requirements
Add tests for the tablize helper