Add setup.py; update .gitignore
Add tests
Remove unreachable code. Use functools.wraps.

 - Remove code that was unreachable. Thanks Jaskirat
   (http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/#c24691)
 - Use functools.wraps to make the retry decorator "well behaved"
 - Fix typo