DB: introduce a timeout handling caller info
The upper bound is that if a function is called over 200 times then we
don't use the caller_info. I ran into a situation in the kernel where a
function was called exactly 200 times and it had about 200 states per call
which meant that we loaded 40,000 into the cur_stree. It took about 6
minutes.
So now I've decide that if loading the information takes longer than 10
seconds, I'm just going to bail on that.
There are a bunch of unrelated clean up changes in this and I'm sorry for
that...
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>