update an instance's ID when updating version

This more accurately reflects the state change that we want the system
to converge on; changing an instance's routes and version should change
its identity to the rest of the system.
Add support for Windows with .NET Warden.