Make File always take the ownership of a MemoryBuffer.

The documentation of parseFile() said that "the resulting File
object may take ownership of the MemoryBuffer." So, whether or not
the ownership of a MemoryBuffer would be taken was not clear.
A FileNode (a subclass of InputElement, which is being deprecated)
keeps the ownership if a File doesn't take it.

This patch makes File always take the ownership of a buffer.
Buffers lifespan is not always the same as File instances.
Files are able to deallocate buffers after parsing the contents.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@224113 91177308-0d34-0410-b5e6-96231b3b80d8