Added OS field to version.Binary, version.Current

This change allows us to cache the current OS we are running on, so we will not have to do a version.GetOSFromSeries(version.Current.Series) every time we need to get the operating system type
Hi Dave,

The point of this PR is to have this field exported and cached at startup, so as to avoid this pattern:

```go
var operatingSystem, errOS = version.GetOSFromSeries(version.Current.Series)

if errOS != nil {
    return nil, errOS
}

switch operatingSystem{
    case version.Windows:
        // do stuff
    default:
        // do other stuff
}
```
 in places where the **current** OS is needed to determine which type we return or which functionality is available or not on the current system.

In essence this change would allow us to just call:

```go
switch version.Current.OS {
    case version.Windows:
        // do stuff
    default:
        // do other stuff
}
```
I can unexport it, and create an exported method attached to the Binary that would just return the os  field. Would that be more acceptable?