Created second equals function to use initializer list
Expanded unit tests, fixed mem copy bugs, and added new functions