Revert: r211588 - [mips] Use __clear_cache builtin instead of cacheflush() in Unix Memory::InvalidateInstructionCache()

Buildbot reports a test failure on the llvm-mips-linux builder and blames r211588.
Although it doesn't appear in the blamelist, it seems it could also be r211587
(because it's committed to compiler-rt?) since they were tested together.

Reverting the most likely suspect (r211588) to confirm one way or the other.
Pass a unique_ptr<MemoryBuffer> to the constructors in the  Binary hierarchy.

Once the objects are constructed, they own the buffer. Passing a unique_ptr
makes that clear.
Update for llvm api change.