New XML infrastructure for XBlocks

@cpennington as we discussed, this has None placeholders for the UsageStore etc, but works for XModules.