Add output post-processing to prepared statements. This causes std::strings to have the right length after a fetch(), and boost::optionals to have the right initialization state, provided they were both initialized with enough space. Adapted and added tests accordingly.