Error handling in StreamExecutor is based on llvm::Error and llvm::Expected. This CL sets up the StreamExecutor wrapper classes in the streamexecutor namespace.
All the other StreamExecutor code makes use of this error handling code, so this is the first CL for checking in StreamExecutor.