Remove hardcoded paths

* added helper functions to return variables for system we are running on
* removed hardcoded paths and socket type
Fixes the issue in LP #1331744 comment #2
Updated fix
more fixing
Merge branch 'master' into os-speciffic-vars

Conflicts:
	cmd/jujud/agent.go
	cmd/jujud/main.go
	cmd/jujud/run.go
	worker/uniter/jujuc/server.go
Added comments, removed extra variables
Merge branch 'master' into os-speciffic-vars
fixing up paths
Refactor osenv changes, add windows ver. detection

* refactored the way we get the paths based on series
* added functions to determine the windows version we are running on
* moved contents of github.com/juju/juju/version/ubuntu one level up (based on discussions with Nate)
removed commented import
Added powershell helpers

* this file contains a powershell and .NET blob needed for generating windows specific userdata
Extracted machine agent test upgrade functionality

This is in prepartion for future tests which require the same
functions.
fixes based on feedback
missed 2 instances of windowsVersions
Converted map keys to constants
get value without index
provider/azure: sanity check cert

- Don't read an unbounded amount of data
  from management-cert-path, because users
  are prone to specifying the wrong file.
- Verify the contents are PEM.

Fixes https://bugs.launchpad.net/ubuntu/+source/juju-core/+bug/1250007
use an enumerator for OS versions
change constants to use enumerator
Changed user to run mongo for admin