Fix start-server

alter-var-root passes the var's old value to the anonymous function, which
originally did not expect any arguments.
Add optional parameter to start-server specifying port to listen on