Convert tabs to spaces
Dynamically compile a function to set instance vars

 - Performance increase: explict now only 1.4 times faster (was 4-5)
 - In effect we are just generating the boiler plate code the user wants
   to avoid by using this decorator
Use function form of exec, for Python 3 compatibility

 - Can't use statement form of exec in Python 3
 - Can't use functional form of exec inside a function with a nested
   function with 'free' variables
 - See http://stackoverflow.com/a/9195548
Merge pull request #2 from dendright/master

Performance gain by dynamically compiling function