dog:fix dog command misinterpretation when characters are mixed in a -p option

This bug is reported in https://bugs.launchpad.net/sheepdog-project/+bug/1309301
I added a check code if the port number (specified in -p option) is numeric or not.

=== Bug Description ===
I found that dog command misinterprets when characters are mixed in a numeric option.

Here's the example.

$dog vdi list -p 7X000
  Name Id Size Used Shared Creation time VDI id Copies Tag
failed to connect to 127.0.0.1:7: Connection refused
failed to connect to 127.0.0.1:7: Connection refused

dog interpreted "7X000" as "7".
I think that dog should output error message " Invalid port number '7X000' ".

=== After modified ===
$dog vdi list -p 7X000
Invalid port number '7X000'

Signed-off-by: Yuichi Bando <bando.yuichi@lab.ntt.co.jp>
Reviewed-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>