Refactored document provider to use simpler linq instead of xdoc
Created a TypeProvider and added support for enums and nullables