Add a BuiltinParser to avoid parsing Builtin Modules as text

This has only been tested for completions and goto_definitions, and is meant as a proof of concept.

`from PyQt4.Qt; Qt.Q` gives the appropriate list of completions, but lacks the appropriate metadata (full_name, docstr, etc).

`from PyQt4 import Qt` gives the appropriate goto_definition.

Neither method actually parses the code.

When I run the memory test against PyQt4 with this loaded (compare to #335, where it ate up 668 MB):

````
MB  | Import
----------------------
 20 | PyQt4
----------------------
Total MB: 241
Total files: 53
```