Prepare to support multiple value types

Currently the only supported value type is string. This fact is exploited in various places which deal directly with the internals of `struct pstore_value`. In order to make it possible to introduce support for multiple value types, add functions for constructing values, formatting them to text, and writing them to extents.