Utilize stack-lock for multi-engine support

Utilize a distributed stack lock to avoid race conditions when multiple
engines are deployed.

Blueprint multiple-engines

Change-Id: I2278c7922557b6234cd7ff162cea92af83e9fb8b
Merge "Utilize stack-lock for multi-engine support"