Fail gracefully when focusing on non-existing goals with user commands.

Fixes bug #3457
Small reorganisation in proof.ml.
Add lia.cache to the .gitignore
Add *.crashcoqide files to the .gitignore.

They occasionally show up while testing. I think it cleaner to ignore them.
Add emacs auto-save and crash-save files to the .gitignore.