Make default ctor and copy constructor default.
Add some static assertions for value_t.

Want to guarantee that a) it's trivial, and b) it's standard layout.
Could just use std::is_pod, but I might remove the trivial requirement
later and make it more specific (i.e., possibly only require trivial
default construction and destruction).