Feature/issue 382 remove std cout cerr

#### Summary:

Removes direct uses of std::cout and std::cerr. This does not change behavior of any of the code.

#### Intended Effect:

This should make it easier to share code by passing streams.

#### How to Verify:

Code review.

#### Side Effects:

Some of the interfaces have changed by adding a parameter for the output or error stream.

#### Documentation:

Not user facing.

#### Reviewer Suggestions:

Anyone.