Add support for user defined "pool" to GN. Allow user to define pool of limited size to limit the number of concurrent tasks that are executed for a given set of tools. The pool object directly correspond to a ninja pool and can be shared by multiple targets. Design document: https://docs.google.com/document/d/1b598i4WmeFOe3_iRBrjPKSXdcR5R32UPtgxqKmoY2-M/view BUG=612786 Review-Url: https://codereview.chromium.org/2006923004 Cr-Original-Commit-Position: refs/heads/master@{#397917} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 40451c5093a4108bf65d3aae30bea2ab014f4b94