Support unsaved files

Unsaved files represent files which are not yet stored on disk and we
can pass them from memory. This is how clang supports parsing
in-memory buffers.
Merge pull request #3 from carlosmn/unsaved-files

Support unsaved files