Extract JSON handling into a Manifest class

That way the SystemDescription interface becomes cleaner and the
SystemDescriptionFactory can use that code directly instead of calling