fix panic from stringToBytes on addr with missing argument

re https://github.com/jbenet/go-multiaddr/pull/11 (used the wrong length check there, believe this one is correct, with tests to prove it, sorry it took so long)

The test commit panics. This should be caught, especially since I can trigger it by editing `~/.go-ipfs/config`, for example by changing one of my swarm listening addresses there to `/ip4` or "/ip4/0.0.0.0/tcp/" and running `ipfs daemon`.  

Also, wondering, why are the http/s commented out?

try one with utp. it should _not_ return an error.
```
newMultiaddr(t, "/ip4/127.0.0.1/udp/1234/utp")
```