Added Unit Testing and Autoformatting
This version features the addition of unit testing, mostly of just happy paths and... well frankly low-hanging fruit. I also finally set up a pre-commit hook for autoformatting, requirement cleaning, newline trimming, etc.