add optional whitelisting of fingerprints for connecting

btw, i wasn't able to quite figure out what you meant by factoring out reading the whitelist file into an io interface -> array func.. i'd still have to error out if the file was missing, so i'm not sure it would save that much code or make it look any prettier.. i could be wrong, though? if you want it and could provide guidance/example i'd be happy to add it
Nit: could check `options.Whitelist != ""`