lru_cache: Fix key being added to queue even when user_function raises an exception
lru_cache: Fix key being added to queue even when user_function raises an exception

Also change try/catch to get(key, sentinel) because exceptions are more expensive and misses are common for my use-case

vorburger/mcedit2,vorburger/mcedit2,Rubisk/mcedit2,Rubisk/mcedit2