Microsoft/TypeScript — pull request #353 by mhegazy (2014-08-04 19:45:17+00:00)
Title: Consolidate Document and SoruceFile

Document used to be a superset of SoruceFile, consolidate these into one notion
Note: ByteOrderMark is required as it affects the output, and all users of the createSourceFile should think about, where as version and isOpen are LS-specific notions and not every user need to know about them per se.