Feature/issue 405 refactor init

#### Summary:

Splits out the initialization portion of src/stan/common/command.hpp into functions.

#### Intended Effect:

Functions are created that can be called from the interfaces.

The var_context_factory allows the interfaces to define how it handles a string.

#### How to Verify:

See added unit tests.


#### Side Effects:

No behavioral side effects.
RStan and PyStan will have to change to incorporate these changes, although it isn't necessary.

#### Documentation:

None.

#### Reviewer Suggestions:

Michael? Bob?

I know, it's still short on tests, but baby steps. There are more tests than there were before.