Fixing and modularising tests

So I've had a rummage around the testing code and I've modularised it out a bit. Now you can add tests from anywhere, so I've made a src/test and include/test directory to facilitate this. 

So, initially all tests passed regardless of how ridiculous they looked. Turns out if our allocator allocates any block above a certain value, the memory is unwritable. Have we opened up the A20 gate yet? Setting our base allocation to 0x00200000 makes the tests run properly.

I also tried going into IRB after making the allocator change and it triple faults, which is progress I guess :)