Collapsed source files into top-level directory

Flattened the project directory structure so that there are only a top-level
directory containing the production source files and a 'tests' subdirectory
containing the unit tests.