version: fix package and tests

Introduce `mustOsVersion`, which replaces `osVersion`, and panics if the version cannot be determined.

`osVersion` now returns an error value if it cannot determine the series.

Fix the tests so they actually _compile_ and _pass_ on OSX.
Why is MacOS stuff here? Shouldn't it be in osversion_darwin.go?