initial sidecar implementation
change zuul implementation to be controller/handler mapping based.

This allows mappings to be at the root and not have to be prefixed.  It also allows mappings to fall through to other handler mappings.  Patterns are now Ant-style via AntPathMatcher.

fixes gh-72
Merge branch 'sidecar'

Conflicts:
	pom.xml
	spring-cloud-netflix-core/src/main/java/org/springframework/cloud/client/discovery/DiscoveryClient.java
	spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java
updated sidecar so the health and info urls go to sidecar, but homepage and non-secure-port go to local app
added simple python http server as a test non-jvm app
ignore test till fixed
ignore test till fixed
Fire InstanceRegisterEvent after eureka registration, then components can listen for that event and safely access DiscoveryClient.
Fix travis build script
Move field injection into @Configuration
Add JMX and MVC endpoints to ZuulHandlerMapping

User can now list routes with /zuul/routes and reset with a
POST.

Fixes gh-75
Remove ugly depednency on Environment

You can bind to a Map<String,String> with application.yml, so there's
no need to work so hard to extract the zuul routes.
Allow user to map physical routes in zuul.route

E.g.

zuul:
  route:
    testclient: /testing123/**         # service mapping
    http://localhost:8081: /stores/**  # physical mapping
Remove debug logging (use /trace instead)
Explicitly allow all HTTP methods in ZuulController
Add test for DELETE on zuul proxy route

Also adds support for context paths in physical URL mappings, e.g.

zuul.route.http\://localhost\:8081/app=/stores/**

will result in a proxy forward of /stores/foo to
http://localhost:8081/app/stores/foo

Fixes gh-73
/proxy/routes -> /routes
/route -> /routes
add pkg protected resetRoutes so new mappings can be created via post to /routes
fixed test broken by change in functionality in ZuulHandlerMapping.reset