schema: expand OS/arch whitelist to allow other platforms

Introduced a map of valid OS/architecture combinations to allow
implementations supporting platforms other than linux/amd64. I can't
figure out at the moment how to warn rather than fail during JSON
validation without resorting to "just print to stderr" approach. A
workaround for an implementation would be to add own values to the
`ValidOSArch` map, but this would still not allow full flexibility.

Additionally fixed a typo in Labels.UnmarshalJSON that prevented the
validation from actually being executed (an empty `l` Labels were
validated, rather than deserialized `nl`).

Improves #6 (not a full fix, as unlisted combinations still fail)
Just noticed that Go reports `amd64` as GOARCH on OSX. Still, the platform's native tools seems consistent in `x86_64`, so I believe that as a neutral spec we should rather use this one.