Fix a handful of gtkevemon bugs

This pull request:

* Cleans up .gitignore
* Adds a .dir-locals.el file to tell emacs about the style of the project
* Fixes a crash I was getting in time formatting
* Gets rid of training_spph in favor of always calculating spph from attributes. This was the root cause of the time formatting crash. (Bogus training_spph was causing time formatting to get given bogus times, which caused crashes.)
* Use `CRYPTO_set_locking_callback` so that openssl actually is thread safe. This vastly reduces random crashes.

I can split into multiple pull requests if you want.