First pass for router v2 implementation. The init version of router v2 is done by
Jun Xiao, polished by Anfernee with a couple of bug fixes and enhancement.

router v2 decouples control and data path to some extent, it's a logic router
including both nginx and uls (upstream location server) parts.

uls (aka control plane) is based on legacy router:
- all communications with nats are kept the same as before
- client facing interface (actually connected to nginx) is simplified to
  handle the location query/stats update from nginx only.
- the original app facing interface is totally removed.

nginx (aka data plane)
- package lua in nginx so most functionalities can be implemented with it.
- for each request, nginx will generate a subrequest (to fit in nginx
  single thread event model) which carries location query/stats info to uls,
  the response of the subrequest will return backend addr and also an
  opaque tags (only known by uls), and the corresponding main request will
  also be awaked and routed to the backend server, when a response from backend
  is returned back, the counter associated with the particular opaque tags
  will be incremented accoring to the response code. The next incoming
  request will always help to carry not-synced stats to uls along with
  its location query.
- sticky session and trace header are also implemented here,
  also their key related config are moved to nginx part.

testing
- "rake spec" will only test uls, while "rake test" will run both unit test and
  integration test with nginx
- integration test requires nginx with lua module installed running

Change-Id: I9b25b24c449b0421754e541ab5ba60a00c551da9
Add ci-reporter task to generate test reports in junit xml format

Change-Id: Idd2c7cd9c0fc44aa3786d7e2f6aa140c1102a8ae
Make router ULS server a sinatra app. Remove client_connections from varz.
Remove keep-alive from nginx's subrequest to ULS.

Change-Id: I89a3b6a59ffba37d25f7f238cbec5ad7793645f8
Add healthz authentication header back for http-monitor

Change-Id: I2c3759d96fa99872d4916e91c5f7764a3f9dc402
Fix nginx config in dev_setup to support router trace

Change-Id: I165efebd84e0d066ea70c14f8caeddca4f56c42b
Merge branch 'master' into router_v2_in_gerrit

Conflicts:
	cloud_controller/Rakefile
	dev_setup/cookbooks/nginx/templates/default/ubuntu-nginx.conf.erb
	router/Gemfile.lock

Change-Id: I7cb5e2b65c21926e9875f613db103a026d20125a
fix nginx false shutdown error in dev_setup

Change-Id: If2d80fb9a5e41ab681df5063323ce3e955cf2489
Create nginx init.d script for dev_setup

Change-Id: Ibe5f43e5b33df05f5770f1eb732669ed4b2142a2
Merge branch 'master' into router_v2

Change-Id: I4c8890eab07afbb2fe28b42cda986cd30ed7369a
update gemfile.lock and cached gems for routerv2

Change-Id: I6d93c3c3addf0ed0f91e9fa8918916cc428dfba0
Fix sticky session decode failure issue. Refactor, with meaningful variable names.

Change-Id: Ic5438b6fb3ff2ef4d1d3e632c9cb4ee78b959d61
Use ULS to generate/decrypt sticky session, to be backward compatible with original router

Change-Id: I7d985e61260ba44398c1b88177d34afad15bc790
Refactor router v2. Move lua module code into router directory. Remove unused plugins from nginx.

Change-Id: Ia047aaa80a45a3a55e726fe7ef17d45edc3ac516
Clean up nginx.conf. Move more logics from config file to uls.lua.

Change-Id: Ia97b4a468c03c44e4b1a22c8502a7cbceedbd307
Fix router v2 bug, trace header should not be included when trace key is wrong.
Update unit test to cover this case, and modify the parameter to speed up unit test.

Change-Id: I3980ff15169c47165eadf02db1614a44a8b9a159
Fix typo in spec

Change-Id: Ie66ba5aadc37949800f56ff647a2005b2155b574
Nginx patch for the zero byte in cstr

See: http://mailman.nginx.org/pipermail/nginx-announce/2012/000076.html

Change-Id: I6c576dac24d6535a11b7380483511c65915f87cf
Merge branch 'master' into services-r10

Change-Id: I9edcb723409e6caf4f70a5f2c43cb4d4fab6dff1
Merge branch 'services-r9' into services-r10

Change-Id: I11145c9731824b3ac74426f86d610c653675c41c
Merge branch 'master' into services-r10

Change-Id: I8537a4ad5e28dcca3086cf24d89112b703fded08