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].