Split unexpected into multiple files

Updated makefile to build production
Ensure that all source files are linted
Use make to run tests