Cleaned up mdrunner_start_threads
Threw an exception rather than return a nullptr to trigger a
fatal error.
Removed unnecessary variables. Parameters passed by value are copied,
so there is no need to make that explicit just because the return
value will be stored in the same variable that was just the source of
a parameter.
Noted TODOs for removing some allocation and leaks if we progress to
the point where mdrun filename arguments can be proved to be used only
in a const-safe read-only manner.
Updated and converted comments to Doxygen
Change-Id: I638c757d2d0aa5175dfe3769b499993eb613ea26