custom exceptions (BC break) [WIP]

Inspired at http://www.doctrine-project.org
nonstatic convertException
added some tests
wip