Adding compiler warnings macro and dependecies
Adding test_runner() for sample data from file
Refactoring to add unary functions
Adding represent method
Refactoring Function enum

Clean testing using std::find on vectors representing types of function
enums. Much more logical!
Const lambda functions in main
Updating test depth/population size
Updating build steps in readme