Serialize dev startup

Adds a lock directory that must be held before the virtualenv can be
created and dependencies installed. This prevents a concurrency bug
where if dependencies are installed for multiple virtualenvs at the same
time they can hang.
Merge pull request #240 from alphagov/serialize-dev-startup

Serialize dev startup