Support custom ports

* Support passing port explicitly
* Fall back to first port definition if no port can be matched
* Try to match port 80, 8080 or 8000 (in this order)
* Correlate link name to sub-path

Fixes #5