Adding FilteredBuffer
Cleaned up buffer code a bit.

Just headers and stuff, and moved one of the slots out of the container
because it might be useful for other stuff.
Merge branch 'master' into SandGrainOne-FilteredBuffer