With the implementation of the Delete() routine my B-tree is fully functional. I decided to implement a full delete that rebalances the tree instead of a sparse delete because I might use my B-tree for keeping a sorted fringe in a graph search algorithm. Sparse delete is possibly a better choice for databases where you expect that the amount of data will mostly only increase and deletes will be few.
I've also moved the testing code into Go's unit test framework, which is pretty cool.
There are a lot of implementations out there. I'm interested in comparing my to an existing one to measure performance and quality of results.