HostKeys.load() now accepts StringIO objects.

Currently, Paramiko loads the host keys only from a existing file. I think that this is a little bit too limited. Therefore, it now also accepts io.StringIO objects.

Usage cases could, for example, be:
- On Windows, convert the Putty known hosts to a OpenSSH style known hosts file and then load it, without the need to have a physical file. (Also see my issue #384, which can now be implemented better)
- Store the host key directly in a Python script or in some other file, making it more portable and eliminating the need to rely on the known_hosts file.

Usage can be something like this:

```python
import io, paramiko
keys = io.StringIO("The content of the known_hosts file")
ssh = paramiko.SSHClient()
ssh.load_system_host_keys(keys)
```

Please bear in mind that my programming skills are rather limited and quite basic. I guess that I have not thought of some errors, so maybe it needs some checking.

It would be nice if it could be integrated into the master branch, though :)