Check for crafting result to not be nil

We don't want to look for a result that doesn't exist.
Player effects reset after death

Storing player effect timers in a table inside the player node allows us to cancel them on death. Also storing some reset values whenever a new effect is added to the player means that we can add as many effects as we want all at once without anything breaking.
Close tooltip when buying or selling items
specify projectile image directory
specify projectile image directory
Move baseball to weapons directory for dev sanity
Merge pull request #14 from niamu/projectile-directory

Projectile directory
Dialogs show actual key bindings
Keys are properly saved to level state
Remove unrelated love files.
Quiet unzip of windows build files.
make flowers persistent
remove topdown
Merge pull request #2202 from CalebJohn/projectile-directory

Reddit Throwing knife issue
Merge pull request #2210 from 8bitgentleman/flowerspawn

make flowers persistent
Merge pull request #2201 from niamu/shopping_tooltip

Close tooltip when buying or selling items
Merge pull request #2205 from niamu/key_persistence

Keys are properly saved to level state
Merge pull request #2204 from niamu/interact_key

Dialogs show actual key bindings
Merge pull request #2198 from niamu/crafting_tooltip

Check for crafting result to not be nil
Merge pull request #2207 from DaNiwa/cleanup_win

Cleanup windows build files.