A Helper_thread is a thread that is dedicated to handling computations external to
Async. We need them because some libraries (e.g. Sqlite3) require that certain
collections of computations run in the same thread.
val create :
?name:string -> unit -> t Core.Std.Or_error.t
create ?name () creates a new helper thread. The
name will be used as the
thread name for any work that that is done by the thread that doesn't get its own