Give Jenkins nodes useful names.

EC2 slave nodes will now include their template name and EC2 instance
identifiers in the node name used throughout the Jenkins UI.

Addresses [JENKINS-15078].
Change primary template identification to be its name, not its AMI.

Many useful configurations will have multiple slave templates that use
the same AMI (but differ in other aspects). This patch changes various
parts of the code to properly identify templates by their names (in the
'description' field) instead of their AMI. As an example, the manual slave
provisioning button, before this patch, would allow the user to select a
template from a drop-down list, but then launched the slave using the
template's AMI, which could have resulted in the wrong template being
used for the launch. This patch also changes the global config page so
that the 'description' field is the first field in each template
definition, to emphasize its importance.

Addresses [JENKINS-7960] and [JENKINS-15158].
Merge pull request #34 from kpfleming/template-node-name

Give Jenkins nodes useful names.
Merge pull request #35 from kpfleming/provision-by-template

Change primary template identification to be its name, not its AMI.
Revert "Merge pull request #25 from zzzeek/master"

This reverts commit de72f67a04ab01a3b73b44973fc730eb857913e2, reversing
changes made to 082f3e517d6172c0b8da896bd68773f14c77e6e7.
Reimplement instance cap management.

* Count instances created by EC2Cloud, not all instances in the Amazon EC2
account, when checking against the cloud's global instance cap.

* Inform each EC2Slave which SlaveTemplate it was created from, so instance
caps on templates can be managed correctly.

* Take into account slave templates which provide executor counts higher than 1
to avoid launching unnecessary instances.

* Track 'pending launch' nodes so that the instance cap can be strictly enforced.

Note that this patch requires some Jenkins core API changes (specifically to the
PlannedNode class contained in NodeProvisioner).

Addresses [JENKINS-5334], [JENKINS-6676], [JENKINS-6691], [JENKINS-12767],
[JENKINS-14965] and partially addresses [JENKINS-9131].