Changed the way blockbuffers are used after they fill up.

The blockbuffers that get full are now moved to the end of the list of blocks. This prevents messages being written to the disk in the wrong order.