Refactored warning into notification and warning

Notification will act as an abstract superclass for
warnings and errors.
Replaced warn.o with codes.o, added error definitions
Errors rewritten to subclass from notification
Added ac_raise_error, MalformedEnum and SyntaxError
:#19 Errors Merge branch 'feature/#19-errors' into dev