Fixing gaps in test coverage for model layer.
Further cleanup, better test structure, additional API documentation.
Colorize makefile and add routines for easy status output.