Create new documents via API

- Move document model to new models dir
- Handle a few possible errors -- TODO: return 422 rather than 200 status code when error