Fixed a few bugs

* Files now are checked for exsistance. 
* Fixed unicode character handling on file writes
* Added a more comprehensive gitignore.
* Added a TODO file.