unreachable: move it out of smatch_flow.c and smatch_states.c
The unreachable code in smatch_states.c seemed important because it would
let people know when they call set_state() but nothing happened. The
problem was that it duplicated code in smatch_flow.c so when smatch_flow.c
was enabled I turned off the warning in smatch_states.c. which meant that
I only ever saw the warnings from smatch_flow.c and normal smatch users
only ever saw the warnings from smatch_states.c. The code in
smatch_states.c eventually became buggy and I didn't notice. I have
deleted it.
The code in check_unreachable.c is almost the same as the old smatch_flow.c
code except that I use a different method to find the last statement in a
function.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>