Feature/refactor common run markov chain

#### Summary:

Refactors the code. Calls Stan's warmup and sample methods directly rather than reimplementing them.

#### Intended Effect:

This is a true refactor. No user-facing behavior should have changed, down to the output, samples drawn, etc.

#### How to Verify:

There are cpp tests in RStan now that can be run by typing "make test-cpp". Within these tests, there are a couple tests that were used to refactor the code safely, showing that the inputs and outputs are indeed the same.

Additionally, you should be able to run any existing model, with the same seed and same parameters, and get the same answer out.

#### Side Effects:

None.

#### Documentation:

None. This is internal implementation changes.

#### Reviewer Suggestions:

@maverickg, @bgoodri