minor schema fixes

- the version element is required
  + bad things will happen in the code if there is no version
    we assumed the version is always present in many places in the
    code
- there always has to be at least one type specified