Fix inventory parsing so that FQDN can be parsed without throwing ssh port error

We use two ranges to define our hosts, first for the bladecenter, then the blade slot, so we have hosts defined like this:
```
[servers]
host-[1:6]-[1:16].example.com
```

gives (Line numbers might be slightly out due to due to extra debugging I've added)
``` python
File "/mnt/data/home/johnb/development/ansible/mine/lib/ansible/inventory/host.py", line 31, in __init__
    self.set_variable('ansible_ssh_port', int(port))
ValueError: invalid literal for int() with base 10: 'com:2222'
```

I believe this is a regression over 1.3.4, possibly caused by https://github.com/ansible/ansible/commit/948d019fef8781b22960859caaa93485a074e339


Added unit tests for FQDN. I couldn't see any existing ones. They could be extended further, but at least this particular issues is fixed and defended