Fix the agent's executable upgrade process.

* re-order the upgrade steps as one of the checks was out of order
* better document the upgrade process.
A pass at testing the logic of using newer exes.

Currently fails some cases it should not.
Next step is automating a loop of test conditions.
Expose other paths in lua.
strip the .exe during the checks to fix the compares
Improve the tests and simplify the upgrade logic.

Convert the fixed test version strings to generated strings.

Simplify the upgrade logic to only look at downloaded files, expand the tests.
Merge pull request #397 from racker/fixes/upgrade-process

Fixes for the upgrade process