kmod: error handling cleanup

Cleanup the error handling a little bit and make the flow a little
clearer.
kmod: add new kpatch_module struct

Put funcs, num_funcs, and mod in their own struct called kpatch_module.
This allows us to keep patch module specific variables in one place (and
we'll have more of these variables soon).
kmod/core: move a couple of functions

Move kpatch_get_*_func a little higher in the file where they will be
needed for the next commit.
fix activeness safety check when unpatching

When unpatching, the activeness safety logic should check for the new
function on the stack, not the old one.

Fixes #64.
kmod/core: error handling review fixes

Some fixes from the code review for better readability.
Merge pull request #137 from jpoimboe/unpatch-safety-fix

fix activeness safety check when unpatching