BREAKING CHANGE: this allows multiple schemas to coexist, but requires
each schema to be created with a call to `createSchema`, taking a set
of options that includes the former `includeOptions` singleton.
BREAKING CHANGE: rather than use the `fs` functions (`existsSync`,
`readSync`, etc) to include files, this uses fields of the `includeSchema`.
To maintain the previous functionality, fields should be set as follows:
- `exists = existsSync`
- `read = readSync`
- `resolve = realpathSync`