Added __pycache__ and *.pyc to the git ignore list
Added a custom exception class
Set encoding to UTF-8
Added tested version info, swapped regular dashes for em dashes
Made some optimizations and improvements