Correctly decode struct values

For message decoding, the signature of the message is now considered
to properly decode structs into []interface{}, and Store converts
anything containing such values to respective Go structs. This
also removes the need for Signature.Values(), which is removed with
this commit.

Fixes #18.
Don't use a goroutine for serial generation