Automatically generate integer and Value wrappers (#73)

Rather than hand-writing the atomic wrappers for integers and types
which wrap `atomic.Value`, generate them automatically from shared
templates. The generators are placed under `internal/gen-*` to avoid
external usage.

A new `make` target verifies that the code checked into the repository
is always up-to-date.