Empty packages

Add empty 'lcdapublictools', 'tests' packages.
'database' module

Add 'database' module to 'tests'. 'database' is a package that's been
adapted from the 'lcda' project.
'tests.database.engine'

Add 'tests.database.engine' module which handles SQLAlchemy database
engine creation exclusively.

Move 'setup_test_db' from 'database.setup' into 'database.scripts'.
'setup_tests.py'

Add 'setup_tests.py' file which installs 'tests' package and scripts.
- Work: fix 'setup_test_db'
'setup.py'

Fix project URL in 'setup.py'.

Add 'side_effect_containers' to dependencies.
'tests.model'

Add 'model' module. This module contains SQLAlchemy object definitions.
'model' naming

Adjust naming in 'model' module.
'database.model'

Move 'model' module into 'database' submodule.
Import statements

Adjust import statements in 'tests.database.scripts'.
'lcdapublictools' package

Add 'lcdapublictools' package directory. Includes 'sqlalchemy' and
'exceptions' modules.
Debug scripts

Debug scripts. 'setup_test_db' and 'initialize_test_db' both work now.
'tests' submodules

Add 'test_multiclass_relationship', 'test_nodelike', 'tests.util'.
Debug

Debug 'lcdapublictools.sqlalchemy'.

Debug 'tests.database.model'.

All tests pass.
Parameterize tests

Parameterize 'MultiClassChildren' tests.
'lcdapublictools-tests'

Add 'name' to 'setup_tests.py' instructions.
'MultiClassChild' tests

Add tests for 'MultiClassChild' relationship descriptor.
'MultiClassChild' testing models

Add object model definitions for 'MultiClassChild' testing.
Naming adjustments

Adjust naming in 'lcdapublictools.sqlalchemy' module.
'nodelike_ids'

The 'pre_commit_checker' object needs certain attributes for collecting
ids to be checked before committing. The 'setup manager' classes need to
handle instantiating these attributes.