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.
 
If this is address and port ( and scheme ) info does should it's name be so specific to ports? Also, I feel like we could drop the Info suffix. PortBinding worked before