Changed how the schema is generated and other quick fixes

- Each field has defaults which can be overriden
- Each field generates their schema
- 501 thrown if the method used is not in the acceptable method list