Fixing the build on Linux(Ubuntu).

This was the work i put to make CppSharp compile on Ubuntu 14.04.1, mingw version 4.8.2 , mono version 3.10.0 , the purpose of the pull request is to help the maintainers, this pull request will show them how much work is needed to make it able to build on Linux. I have not verified that  build on other platforms is not broken after these changes except for Linux but it should not be.
i have not checked other versions but as of llvm and clang version 3.6.
FM.getBufferForFile returns llvm::ErrorOr<  std::unique_ptr<llvm::MemmoryBuffer> > not llvm::MemmoryBuffer and thus the compiler complains about this with an error. 
the BinaryBuf auto then contains std::reference_wrapper<std::remove_reference<T>::type>.