New segment for .NET SDK version (or unsupported version) display.
Includes update for handling command execution errors so segments
can act differently based on exit codes. Using a custom error
type to make it testable rather than passing the OS error directly
to the segment.
On Windows, when in the registry, os.Getwd() returns the previous
path rather than the registry location. Settings PWD as an environment
variable might seem hacky but it's the only way to resolve this.
Resolves#40
only display UserInfoSeparator if both username and hostname are dislayed
cleanHostName only if it ends with garbage instead of contains.
fixes .localdomain having just .local stripped
add .localdomain to garbage