Extensible Formats System

Well, I've been using this branch for about 10 months now and it seems pretty stable. 

Look at the files changed, not the commit list - it's extensive. I suggest merging it as a squash commit.