Bugfix/issue 432 pos inf ub

#### summary

fixes problems with user inits for infinite bounds by having `io::writer` call `prob::transform` to free + error in spelling for initialization error

#### intended effect

allow users to initialize params with infinite bounds

#### how to verify

user model above now runs; unit tests in place to test that and other conditions

#### side effects

throws from writer are now `std::domain_error` instead of `std::runtime_error`

#### documentation

no change --- doc was correct before

#### suggested reviewers

simple change --- anyone