add new symbol module to search symbols in DSO (for uprobes)

This will allow to don't hardcoding addresses of functions in ktap
scripts, that use uprobes, but instead, use normal function names.

Before this patch:
$ ktap -e 'trace probe:/path/to/bin:0xDEADBEAF' # instead some real address

After this path:
$ ktap -e 'trace probe:/path/to/bin:foo'

Works also for ret probes (%return)
Requires libelf.

Have NO_LIBELF option for makefile, for cross-builds.

Signed-off-by: Azat Khuzhin <a3at.mail@gmail.com>
minor fix uprobe symbol resloving

- add error handling when symbol not found
- disable symbol resloving when NO_LIBELF enabled
- coding style minor fix

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
add sample script: scripts/userspace/malloc_free.kp

Use symbol(malloc and free) in uprobe sample script,
instead real symbol offset address.

Signed-off-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>