build objects in separate directory to fix caching

Setting KCFLAGS="-ffunction-sections -fdata-sections" causes make to
invalidate all the kernel objects, resulting in all the objects getting
rebuilt on the next pass, thus no build caching.

To fix that, build the objects in a separate directory (obj) for normal
builds, and another separate directory (obj2) for the builds with added
cflags.
Merge pull request #34 from jpoimboe/cache-fix

build objects in separate directory to fix caching
include .text/.rela/func sym bundle if rela entry references changed local string

Consider a file the following single function:

void test_func() {
	printf("this is before");
}

with a patch that changes the contents of the string.

The result is that the .text, .rela, and function symbol information
for that function remain unchanged as the addend into the
.rodata.str1.1 section remains 0.  However the string that is
referenced by the rela entry has changed.

If the rela entry references a string section and the referenced
string has changed, the .text, .rela, and function symbol should be
marked as changed.  However, the current code does not do this.

This commit corrects this issue.

Signed-off-by: Seth Jennings <sjenning@redhat.com>