Use Chai for Tests

This allows for a couple nice optimizations that make the tests much cleaner and smoother :grinning: