Refactoring and optimizations using compile-time validation and initialization.
Added performance note in README.md.
Merge remote-tracking branch 'remotes/Hacked/master'
Fixing issue where OnExit was used instead of OnException
Merge pull request #2 from gfraiteur/master

Optimization using compile-time initialization and validation