Simplify acquisition of debug informtion for instruction info with newer LLVM versions

With newer LLVM versions (starting with LLVM 2.7) debug information are directly associated
as meta data with each instruction.
Therefore, debug information can be acquired directly from each instruction.
Allow to specify KLEE-internal functions

KLEE provides runtime library functions to do detection of bugs (e.g. overflow).
This runtime functions are not the location of the bugs but it is
the next non-runtime library function from the stack.
Use the caller inside that function to indicate where the bug is.
Replicate debug information from checked instructions to checker call.
Optimize inlineChecks function

* Just iterate over the instructions which use the function to be inlined
* Handle each callsite (e.g. CallInst and InvokeInst)
Remove old algorithm for aquirring debug info. Since LLVM 2.7,
debug information is attached directly to most instructions so
the simpler algorithm added in  5ecfd6e2fd5becc10be355b3a20d014e76e40518
can be used.

Since support for LLVM version < 2.9 has been removed the old algorithm
should be removed.

This has been tested with LLVM 2.9 and LLVM 3.3
Only record debug info into InstructionInfoTable if debug information
is actually available.

In addition if doing a DEBUG build then the command line flag

-debug-only=klee_missing_debug

shows the instructions missing debug information

and

-debug-only=klee_obtained_debug

show the instructions with debug information.
If error location information is missing be explicit about it. This
is more helpful because often the next message is "Now ignoring error
at this location". Which is slightly confusing when no location
is shown.
When writing stack traces for bugs write the location in the assembly.ll
file as well.
In Executor::getLastNonKleeInternalInstruction() if not in internal
KLEE function then return early.