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.
It's here so that it can be tested on all platforms. 

This is part of a larger problem that the version package is now serving two masters.

One use of version is for the client to try to figure out which tools it needs to upload, as well as simple stuff, like printing its own version with `juju version`. In this case the version package needs to compile and run on all platforms that the juju cli runs on.

The other use is the server, which is interested in answering questions like 'Which platform am I running on now?", "What is the version string of the tools I need to fetch"

These two use cases are complimentary, and sometimes overlap, but have pulled this package in two independent directions.