Merge pull request #36 from msm/master

Fix minor fallout from giving nodes useful names
Provide backwards compatibility for EC2Slave name change.

Commit 88222567e84ae42c602d5ac8430a95957ea083e3 changed the way that
Node objects are constructed from EC2Slave objects, in order to make the
Node 'name' fields more useful. It also added a field called 'instanceId'
to EC2Slave, and stopped relying on Node.getNodeName() to recover that
information. In order to provide compatibility with configurations from
before this change was made, this patch notes whether instanceId is null,
and if it is, extracts the instance ID from the Node's name.
Document versions involved in instanceId backward compatibility code.

Also, make instanceId private (since it can no longer be final), as allowing
it to be modified from outside of EC2Slave itself would cause serious problems.
Merge pull request #37 from kpfleming/ec2slave-support-old-data

Provide backwards compatibility for EC2Slave name change.
Retries DescribeInstance calls a few times if it fails.

Addresses [JENKINS-15319].
Merge pull request #38 from meteor/retry-describe-instances

Retries DescribeInstance calls a few times if it fails. [JENKINS-15319]