Remove dependence on boost::lexical_cast, write a simple test for string formatting