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 caps can be strictly enforced.

Note that this patch requires a Jenkins core API change that is scheduled for the
1.503 release.

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