Add exception types based on E_* error types
Use tilde operator
Update 0.2

* Add exception types based on E_* error types
* Remove constructor
* Remove default error exception and its setter
Unnecessary spaces
Merge branch '0.2-wip'
Fix use exception namespaces
Update unit test
Remove since annotation
Have to manually set error reporting
Merge to 0.2