Fix options in public keys

Currently ssh public key files which have options at the start of the key don't work as the code currently picks a hard coded second field out of the key, whereas the thing we want to grab can be the 2nd or 3rd field...

Also, there can optionally be a comment, so just pulling the last field off isn't safe.

I've added tests for the three cases (+ comment, + options, + both) which weren't tested, and I've fixed the issue..