This commit introduces the changes to use the libtooling interface and also
to process more than 1 C file at a time.
Make use of the llvm command line options parser.

Updated arguments passed to the jcut executable in our test files in the
python script.
Fixed bug which would make jcut exit when an integer or float constant was
passed to a pointer type.

The jcut behavior is to prevent initialization of pointer types with arbitrary
addresses. The only arbitrary address allowed to be used is 0 (NULL or nullptr)
only for the cases in which the uses wants to test error handling flows.

The other valid way to initialize pointer types is using the jcut pointer
initialization syntax [n:x].
Fixed bug in which we were passing the double quotes from strings so they
would be printed. The real behavior is that they are not printed, we only
want the string inside.
Fixed bug which would cause jcut to crash when trying to initialize a pointer
type other than pointer to char or unsigned char with a string.

The correct behavior is initialize only char* or unsigned char* with strings.
All other pointer types initialized with a string should raise an exception.
Added more test cases.
Removed unnecesary dynamic_cast and added TODOs