support for warden in package cache.

Change-Id: I663e02305f73ea457118e15d469949185b1197a6
[cc][fix] Store unstaged apps using id instead of sha1

We now reference unstaged app packages (the zipfile that is constructed
from the resource pool) by app id instead of by sha1 of package contents.
This fixes a race condition that can occur when two apps are pushed with
the same source concurrently. Consider the following
sequence of events:

1. Users A and B push the same app concurrently. Under
   the old scheme, this would result in both apps having the same
   package hash and as a result, referencing the same file on disk.
2. User A deletes his or her app. This leaves B with a reference to
   a file that no longer exists on disk.
3. User B attempts to stage his or her application. The stager will be
   unable to retrieve the unstaged app from disk (since User A deleted it)
   and staging will fail. Note that service binding is irrelevant; any
   operation that doesn't change application source would suffice.

Test plan:

- Pushed two apps concurrently. Verified that they referenced different
  files on disk.
- Bound a service to an app that existed prior to this change. This verifies
  we can reference apps stored at the old location.
- Updated an existing app. Verified that the app package stored at the old
  location was removed.
- Deleted an existing app. Verified that the app package stored at the old
  location was removed.
- BVTs pass.

Change-Id: I23b194d03ca55de64f8f0531ed161cb32d1aa0b0
enable new initial placement protocol by default.

Change-Id: Iac65918c1cb1a1520eef2717dabb99ae9e8144c9
Merge branch 'router_v2'

Conflicts:
	dev_setup/cookbooks/nginx/templates/default/ubuntu-nginx.conf.erb

Change-Id: Icdfef01b286ae8b37876809fbccac0327f9a7c06
Merge "enable new initial placement protocol by default."
Merge "Normalize maven recipe to match the others"
Merge "Merge branch 'router_v2'"
Convert stager from fibers to threads

There are a couple of reasons for this change. Firstly, we don't need
a massive amount of concurrency. Threads will serve us well enough
and the resulting code is easier to read, maintain, and reason about.
Secondly, this will ease the transition to using Warden containers
for staging applications.

I also took the opportunity to clean up some tests as I was refactoring.

Test plan:

- Unit tests pass (and are expanded).
- BVTs pass
- Manual testing using a script that executes parallel deploys succeeds.

Change-Id: Ibb883a588de59d5d551bbd8e03261c45dd924580
Remove unused code

Test plan:

- BVTs pass
- Unit/functional tests pass

Change-Id: I2c7c4ceb5f5687f7081918b287bf58ead9ef205c
[stager] npm support: use HTTP to connect to registry

+cleanup

Change-Id: If4fcc9bf05a1c847718f58fe7ff8d69d090f5b0e
[cc][fix] Support legacy paths on CCs not using the stager

Change-Id: Ie8800812d91d6367da6530c934402ab66471bb60
disable npm support

Change-Id: I6c62a856fe6c3562b3bbb95e090363a4122ce85d
Merge "disable npm support"
[stager] Remove channel abstraction

Needlessly complicated.

Change-Id: I256e3c027d49dc2391cd23c590bba319de189787
Merge branch 'services-r10'

Bump vcap/services

Bump version and revendor vcap_common gem

Change-Id: I34bb57d703bc078d0e6488bb4534d21324bee89a
CFID-259: use executable jar to fix UAA dependencies

Change-Id: Ie523dc01d26a2e20edad8a37053f4dc24b6365f8