Fully implemented Class

Hot on the heels of #87, I present to you `Class`. Fully implemented with passing tests.

I cherrypicked e986c6ac4444545af5e3c17ff12dcfb1facf9b4a into this branch so the tests would pass.