Test: Return Status Codes & Add Tests
This will return status codes in every function rather than calling exit immediately, allowing the program to call exit once at the end of the program and serving as prep work for implementing the ability to evaluate multiple expressions.
In addition, I've added some tests for test.