Make all access to Context's lock via helpers

`context._lock` should be an implementation detail with callers only concerned with acquire_lock and release_lock.

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/41820893

Bugs closed: 818

Reviewed at https://rbcommons.com/s/twitter/r/1391/
Make interpreter_cache a property, acquire lock in accessor.

Intended to address https://github.com/pantsbuild/pants/issues/819

Testing Done:
Locally repoduced the mentioned issue, applied patch and reattempted repro. Runs printed lock acquisition message and did not reproduce the issue.

CI: https://travis-ci.org/pantsbuild/pants/builds/41899735

Bugs closed: 819, 820

Reviewed at https://rbcommons.com/s/twitter/r/1392/