Acquire a permit. Retries if no permits are available.
Get the number of permits currently available.
Release a currently held permit.