Remove OwningPtr.h and associated tests

llvm::OwningPtr is superseded by std::unique_ptr.
CommandLine: bail out when options get multiply registered

These errors are strictly unrecoverable and indicate serious issues such as
conflicting option names or an incorrectly linked LLVM distribution.

With this change, the errors actually get detected so tests don't pass
silently.