Feature/reorganize command output

Summary
-----

Reorganize the header output, both to screen and files.  Additionally some arguments and the test-gradient diagnostic were tweaked.

Intended Effect
-----

Configuration header is now printed to screen immediately after arguments are parsed, to output and diagnostic files immediately after the model has been compiled.

If method=sample the timing output is displayed before the samplers are instantiated.

There were two additional clean-ups: the default output file name was changed to "output.csv" instead of "samples.csv" and the options "append_output" and "append_diagnostic" were dropped.

The test-gradient diagnostic was updated to output to file as well as the screen.  Specifying the output stream required specifying the step size and error tolerance, so these were exposed as configurable arguments defaulting to the previous values.

How to Verify
-----

Run any model with method=samplea and method=optimize to see the difference in timing.

Run any model with method=diagnostic test=gradient to see the output from screen mirrored in output.csv.

Side Effects
-----

The change from samples.csv to output.csv will likely break a bunch of tests but I just wasn't able to run through them to verify on my poor old laptop.  

Documentation
-----

Diagnostic arguments updated, timing output doc'd.  Should be consistent.

Suggested Reviewers
-----

@syclik