support multi eventdef

Usage:
trace 'EVENTDEF1; EVENTDEF2' function (e) { BODY }

trace 'EVENTDEF1 /filter1/; EVENTDEF2 /filter2/' function (e) { BODY }

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@gmail.com>
remove structure ktap_trace_entry

we use kernel function ftrace_find_event for print event,
so no need to save ftrace_event_call into ring buffer anymore.

And we should export ftrace_find_event function in future.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@gmail.com>
introduce kp_puts

simplified function for kp_printf

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@gmail.com>
introduce __kp_bputs for faster kp_puts

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@gmail.com>
do not instrument the tracer itself

disable function tracing on ktap's functions,
branch profiling is also same.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@gmail.com>
protect table structure by arch_spin_lock

We cannot use spin_lock or raw_spin_lock in there,
otherwise it will deadlock when lockdep enable.

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