Shared PortBindingInfo abstraction for all servers.

Includes `scheme`, `host`, and `port`, and produces a `url` so that could be opened in a web browser.

Also updates the browser code since we can do that now, and adds a build intsruction for Java 1.6.
 
did we have a conflict with names that forced us to qualify names below?