Refactor internals

- Simpler assertion code
- Don’t support arrays (should use “(object) [ … ]” instead)
- Error objects now have access to the assert object
- IvalidException now has access to the subject (and errors)
Added file