Changes

- Created custom exceptions for common errors (TODO: documentate code)
- Moved includes after the initialization of 'stigma3', since they are
implement in the protype
- Some aesthetic changes
- New helper function to check if all elements of an array are the same
type