Add mutable extra proctype attributes.

This adds mutable proctype attributes that are stored as JSON in
Doozerd. The first use will be for storing per-proctype memory limits.

One potential wart: I didn't want to unmarshal JSON into a string-keyed
map (like it's done for app attrs), since that pushes schema validation
even further away from the point in time where the data is deserialized.
To be able to unmarshal into a Go struct, I had to add a data attribute
to the jsonCodec which allows passing a correctly typed struct receiver
for the unmarshaled data to end up in.