Fix from_string when the port is not specified

Before fixing:
```erlang
Eshell V5.10.1  (abort with ^G)
1> uri:from_string("http://test.com").
** exception error: bad argument
     in function  integer_to_list/1
        called as integer_to_list([])
     in call from uri:port_to_string/1 (src/uri.erl, line 459)
     in call from uri:to_iolist/1 (src/uri.erl, line 562)
     in call from uri:update_raw/1 (src/uri.erl, line 558)
2> 
```