kpatch: single enabled dir

Programs aren't supposed to touch /usr/lib, so use a new backend
directory scheme:
- /var/lib/kpatch/<version>/enabled for all symlinks
- /var/lib/kpatch/<version> for user installed
- /usr/lib/kpatch/<version> for system installed
kpatch: remove unload --all

A proper implementation would be trickier and I'm not sure this is a
useful command anyway.
kpatch: patches not modules

Be more consistent with the patch metaphor (as opposed to modules):

- change load/unload to apply/remove
- strip "kpatch-" prefix from the module name, so that patch name "foo"
  corresponds to module "kpatch-foo.ko"
kpatch: use relative paths for finding tools/data

Use relative paths so that kpatch and kpatch-build will find the tools
and data they need, regardless of the installation prefix.  Also add
support for running them straight from the git repo.
kpatch-build: put rpm in temp directory
kpatch-build: log to /tmp
kpatch-build: allow building as non-root

Allowing the user to build without needing to be root.  If the needed
packages aren't installed, the error messages will tell the user what to
install.
append to CFLAGS instead of overwrite

Honor user set CFLAGS

Signed-off-by: Seth Jennings <sjenning@redhat.com>
s/sybmols/symbols/ in create-diff-object

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #10 from spartacus06/fixes

Fixes
Merge pull request #9 from jpoimboe/kpatch-script-improvements

kpatch script improvements