Rewrite lib/schemas to build a schema, rather than return a single one

- Chonk: Manually setting out a 'defined' list
- Loads in additional schema values then appends types to the 'allOf' property if found
Remove duplication of 'required' field in aggregated schema