fix up changelog
 * refactor command private api to better support testing
 * handle various error conditions in the running of a command
 * provide error messages for error conditions
continue fixing and extending test coverage