small tweaks now processes args
Changes to RegisteredFactoryBase
random changes to factory and cube
Added FileHeader and turned MapHeader into OrderedDict

Currently the Map meta object Meta is not case-insensitive.

I put the contents of MapHeader into FITSHeader working on the
principal of that is where the output case-insensitivity needs to be.

However people will expect that if they build a Map from a MapHeader then
they will expect its header to act like a FITSheader and be all Caps or
case insensitve. Above and beyond this all of Map is coded atm to use
lower case keys because they will be uppercased on read to MapHeader
which is no longer happening.
io header