Merge pull request #289 from ddobrev/master

Set the original function of each overload generated because of default values of arguments
Added vector clearing overloads to the parser options.
Split building source file parse options from parsing code.
Changed Driver.BuildParseOptions to be public.
Fixed driver code to use source file options for parsing.
Skip implicit records when parsing.

This works around the following parse issue which would trigger an subsequent assert when handling source locations:

RecordDecl 0x848e5c00 <<invalid sloc>> <invalid sloc> implicit struct __va_list definition
`-FieldDecl 0x848e5c60 <<invalid sloc>> <invalid sloc> __ap 'void *'
Saved the Clang pointer of the class layout.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>