Fix process launch failure on FreeBSD after r365761
After rLLDB365761, and with LLVM_ENABLE_ABI_BREAKING_CHECKS enabled,
launching any process on FreeBSD crashes lldb with:
Expected<T> must be checked before access or destruction. Expected<T> value was in success state. (Note: Expected<T> values in success mode must still be checked prior to being destroyed).
This is because m_operation_thread and m_monitor_thread were wrapped
in llvm::Expected<>, but this requires the objects to be correctly
initialized before accessing them.
To fix the crashes, use llvm::Optional<> for the members (as indicated
by labath), and use local variables to store the return values of
LaunchThread and StartMonitoringChildProcess. Then, only assign to
the member variables after checking if the return values indicated
Reviewers: devnexen, emaste, MaskRay, mgorny
Reviewed By: devnexen
Subscribers: jfb, labath, krytarowski, lldb-commits
Differential Revision: https://reviews.llvm.org/D68723