Fixed bug where divide by zero bugs would only be detected once in a program
even if there were many divide by zero bugs.

The fix basically inlines all function calls to klee_div_zero_check()
so that each call to klee_report_error() is a unique instruction
for each instrumentation of a divide operation.

It also seems that inlining the call "magically" fixed the debug information
(file and line number) of the instruction so that the debug information on the
inlined instructions matches that of the instrumented division instruction.

Note that the command line option -emit-all-errors could be used to
workaround the bug fixed in this commit.
Implemented runtime check for overshift (controllable with --check-overshift
command line argument).

Overshift is where a Shl, AShr or LShr has a shift width greater
than the bit width of the first operand. This is undefined behaviour
in LLVM so we report this as an error.
MetaSMT builder, solver and command-line options.
Bug fix in MetaSMTBuilder
getConstraintLog() of MetaSMTSolver explicitly states that this feature is not supported; a test case modified to not fail because of this.
command-line option --use-metasmt declared and defined inside #ifdef SUPPORT_METASMT ... #endif macros
tests in ./test/Feature/ExprLogging.c reverted back to not explicitly differentiate on whether metaSMT is used or not
stubs.c: fix use of undeclared identifier PATH_MAX
stubs.c: cleanup
Merge pull request #47 from 251/stubs_path_max

Simplified implementation of canonicalize_file_name().  Addresses #46.
Removed unnecessary/redundant linking of library boost_thread-mt to klee and kleaver.
Merge pull request #41 from hpalikareva/metasmt-multisolver

Support for KLEE-MultiSolver (http://srg.doc.ic.ac.uk/projects/klee-multisolver/)
Merge pull request #26 from delcypher/fix_divide_by_zero

Fixed bug where divide by zero bugs would only be detected once in a program
Fix build of POSIX file descriptor functions

Build Large File System functions for 32bit and 64bit correctly
Fix Futimesat compilation with newer gcc and clang
Merge pull request #61 from MartinNowack/fix_futimesat

Fix Futimesat compilation with newer gcc and clang
Fix arbitrary path limits and improved error handling (exit
even if not built with asserts).
sort and remove some includes
Refactored part of KleeHandler construction so that
- A fixed size buffer is no longer used for output Directory path
  (would of failed for large paths).
- KLEE warns about the presence of klee-out-* files that aren't
  directories.
- We don't get stuck in an infinite loop if there aren't available
  directories.
Exit if using --libc=uclibc and KLEE was not configured with uclibc
or if the configured path does not exist.

Previously if KLEE was configured and compiled without uclibc linking
would still succeed because KLEE_UCLIBC was blank so LLVM was
effectively asked to link with "/lib/libc.a" i.e. the system's native
C library!