kdebug: fix some complation error in Linux 3.1

This issue is reported by googya in github.

console tracing is not available in Linux 3.1, use a macro guard.
(the ktap dumpstack part should rewrite in future)

Same as ftrace macro.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
kdebug: simple change on kp_probe_init

make code logic more simpler

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
kdebug: support perf_event_enable/disable functions in kernel earlier than 3.3

for kernel earlier than 3.3, functions perf_event_enable and perf_event_disable
was not exported, so ktap solve this in a hacking way.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
make ktap only support kernel 3.1 or later(tested)

Currently ktap don't support kernel older than 3.1,
make this clear in documentation, and disallow user compile ktap
in those old kernel.

The reason of why ktap don't support kernel older than 3.1 is below commit:

    commit 4dc0da86967d5463708631d02a70cfed5b104884
    Author: Avi Kivity <avi@redhat.com>
    Date:   Wed Jun 29 18:42:35 2011 +0300

    perf: Add context field to perf_event

    The perf_event overflow handler does not receive any caller-derived
    argument, so many callers need to resort to looking up the perf_event
    in their local data structure.  This is ugly and doesn't scale if a
    single callback services many perf_events.

    Fix by adding a context parameter to perf_event_create_kernel_counter()
    (and derived hardware breakpoints APIs) and storing it in the perf_event.
    The field can be accessed from the callback as event->overflow_handler_conte
    All callers are updated.

ktap is based on overflow_handler_context field of struct perf_event,
in theory, ktap could rewrite to use without overflow_handler_context, but
it's not needed at all.
so just make a rule: don't support kernel older than 3.1

If user really want to use ktap in older kernel, patch kernel firstly.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>