fix object unlink error handling

Fix the object unlink error handling so that each function cleans up
after itself properly.

Also use find_symbol() instead of __symbol_get() to make cleanup easier.
When patching a module we don't need a reference to each symbol, since
we already have done a try_module_get() on the module.

Fixes #392.
Merge pull request #440 from jpoimboe/unlink-error-handling

fix object unlink error handling