Break up core pieces into separate modules

- Create model.py to hold the core Model class
- Create exceptions.py to hold all custom exceptions
Made validator inheritable by base classes.
Adding documentation of Model methods
Rename Model method validator to validate
Relax jsonpatch dep to >=0.10,<=0.12
Update version to 0.8.0